Lines Matching defs:edge_port

220 static void stop_read(struct edgeport_port *edge_port);
221 static int restart_read(struct edgeport_port *edge_port);
1551 static void handle_new_msr(struct edgeport_port *edge_port, u8 msr)
1556 dev_dbg(&edge_port->port->dev, "%s - %02x\n", __func__, msr);
1560 icount = &edge_port->port->icount;
1571 wake_up_interruptible(&edge_port->port->port.delta_msr_wait);
1575 edge_port->shadow_msr = msr & 0xf0;
1577 tty = tty_port_tty_get(&edge_port->port->port);
1586 static void handle_new_lsr(struct edgeport_port *edge_port, int lsr_data,
1593 dev_dbg(&edge_port->port->dev, "%s - %02x\n", __func__, new_lsr);
1595 edge_port->shadow_lsr = lsr;
1606 edge_tty_recv(edge_port->port, &data, 1);
1609 icount = &edge_port->port->icount;
1624 struct edgeport_port *edge_port;
1676 edge_port = usb_get_serial_port_data(port);
1677 if (!edge_port) {
1678 dev_dbg(dev, "%s - edge_port not found\n", __func__);
1690 edge_port->lsr_event = 1;
1691 edge_port->lsr_mask = lsr;
1695 handle_new_lsr(edge_port, 0, lsr, 0);
1704 handle_new_msr(edge_port, msr);
1725 struct edgeport_port *edge_port = urb->context;
1726 struct device *dev = &edge_port->port->dev;
1755 port_number = edge_port->port->port_number;
1757 if (urb->actual_length > 0 && edge_port->lsr_event) {
1758 edge_port->lsr_event = 0;
1760 __func__, port_number, edge_port->lsr_mask, *data);
1761 handle_new_lsr(edge_port, 1, edge_port->lsr_mask, *data);
1769 if (edge_port->close_pending)
1773 edge_tty_recv(edge_port->port, data,
1775 edge_port->port->icount.rx += urb->actual_length;
1780 spin_lock_irqsave(&edge_port->ep_lock, flags);
1781 if (edge_port->ep_read_urb_state == EDGE_READ_URB_RUNNING)
1783 else if (edge_port->ep_read_urb_state == EDGE_READ_URB_STOPPING)
1784 edge_port->ep_read_urb_state = EDGE_READ_URB_STOPPED;
1786 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
1806 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1810 edge_port->ep_write_urb_in_use = 0;
1836 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1844 if (edge_port == NULL)
1850 status = ti_do_config(edge_port, UMPC_SET_CLR_LOOPBACK, 0);
1867 edge_port->ump_read_timeout =
1903 status = read_port_cmd(port, UMPC_READ_MSR, 0, &edge_port->shadow_msr, 1);
1910 dev_dbg(&port->dev, "ShadowMSR 0x%X\n", edge_port->shadow_msr);
1913 edge_port->shadow_mcr = MCR_RTS | MCR_DTR;
1914 dev_dbg(&port->dev, "ShadowMCR 0x%X\n", edge_port->shadow_mcr);
1916 edge_serial = edge_port->edge_serial;
1941 edge_port->ep_read_urb_state = EDGE_READ_URB_RUNNING;
1942 urb->context = edge_port;
1956 if (edge_port->edge_serial->num_ports_open == 0)
1966 struct edgeport_port *edge_port;
1970 edge_port = usb_get_serial_port_data(port);
1971 if (edge_serial == NULL || edge_port == NULL)
1978 edge_port->close_pending = 1;
1982 edge_port->ep_write_urb_in_use = 0;
1983 spin_lock_irqsave(&edge_port->ep_lock, flags);
1985 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
1991 --edge_port->edge_serial->num_ports_open;
1992 if (edge_port->edge_serial->num_ports_open <= 0) {
1995 edge_port->edge_serial->num_ports_open = 0;
1998 edge_port->close_pending = 0;
2004 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2011 if (edge_port == NULL)
2013 if (edge_port->close_pending == 1)
2017 &edge_port->ep_lock);
2026 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2029 spin_lock_irqsave(&edge_port->ep_lock, flags);
2031 if (edge_port->ep_write_urb_in_use) {
2032 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2041 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2045 edge_port->ep_write_urb_in_use = 1;
2047 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2060 edge_port->ep_write_urb_in_use = 0;
2063 edge_port->port->icount.tx += count;
2076 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2080 if (edge_port == NULL)
2082 if (edge_port->close_pending == 1)
2085 spin_lock_irqsave(&edge_port->ep_lock, flags);
2087 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2096 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2099 if (edge_port == NULL)
2102 spin_lock_irqsave(&edge_port->ep_lock, flags);
2104 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2112 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2115 ret = tx_active(edge_port);
2125 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2128 if (edge_port == NULL)
2145 stop_read(edge_port);
2152 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2155 if (edge_port == NULL)
2171 status = restart_read(edge_port);
2180 static void stop_read(struct edgeport_port *edge_port)
2184 spin_lock_irqsave(&edge_port->ep_lock, flags);
2186 if (edge_port->ep_read_urb_state == EDGE_READ_URB_RUNNING)
2187 edge_port->ep_read_urb_state = EDGE_READ_URB_STOPPING;
2188 edge_port->shadow_mcr &= ~MCR_RTS;
2190 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2193 static int restart_read(struct edgeport_port *edge_port)
2199 spin_lock_irqsave(&edge_port->ep_lock, flags);
2201 if (edge_port->ep_read_urb_state == EDGE_READ_URB_STOPPED) {
2202 urb = edge_port->port->read_urb;
2205 edge_port->ep_read_urb_state = EDGE_READ_URB_RUNNING;
2206 edge_port->shadow_mcr |= MCR_RTS;
2208 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2214 struct edgeport_port *edge_port, const struct ktermios *old_termios)
2216 struct device *dev = &edge_port->port->dev;
2235 config->bUartMode = (u8)(edge_port->bUartMode);
2287 restart_read(edge_port);
2326 edge_port->baud_rate = baud;
2346 status = send_port_cmd(edge_port->port, UMPC_SET_CONFIG, 0, config,
2358 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2360 if (edge_port == NULL)
2363 change_port_settings(tty, edge_port, old_termios);
2370 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2374 spin_lock_irqsave(&edge_port->ep_lock, flags);
2375 mcr = edge_port->shadow_mcr;
2390 edge_port->shadow_mcr = mcr;
2391 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2393 restore_mcr(edge_port, mcr);
2400 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2406 spin_lock_irqsave(&edge_port->ep_lock, flags);
2408 msr = edge_port->shadow_msr;
2409 mcr = edge_port->shadow_mcr;
2419 spin_unlock_irqrestore(&edge_port->ep_lock, flags);
2427 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2434 status = ti_do_config(edge_port, UMPC_SET_CLR_BREAK, bv);
2551 struct edgeport_port *edge_port;
2554 edge_port = kzalloc(sizeof(*edge_port), GFP_KERNEL);
2555 if (!edge_port)
2558 spin_lock_init(&edge_port->ep_lock);
2559 edge_port->port = port;
2560 edge_port->edge_serial = usb_get_serial_data(port->serial);
2561 edge_port->bUartMode = default_uart_mode;
2565 edge_port->uart_base = UMPMEM_BASE_UART1;
2566 edge_port->dma_address = UMPD_OEDB1_ADDRESS;
2569 edge_port->uart_base = UMPMEM_BASE_UART2;
2570 edge_port->dma_address = UMPD_OEDB2_ADDRESS;
2580 __func__, port->port_number, edge_port->uart_base,
2581 edge_port->dma_address);
2583 usb_set_serial_port_data(port, edge_port);
2597 kfree(edge_port);
2604 struct edgeport_port *edge_port;
2606 edge_port = usb_get_serial_port_data(port);
2608 kfree(edge_port);
2617 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2619 return sprintf(buf, "%d\n", edge_port->bUartMode);
2626 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2632 edge_port->bUartMode = v;