Lines Matching refs:port

89 	struct usb_serial_port	*port;
141 /* The 4, 8 and 16 port devices show up as multiple 2 port devices */
198 static void edge_tty_recv(struct usb_serial_port *port, unsigned char *data,
205 struct usb_serial_port *port, struct ktermios *old_termios);
206 static void edge_send(struct usb_serial_port *port, struct tty_struct *tty);
209 static int edge_create_sysfs_attrs(struct usb_serial_port *port);
210 static int edge_remove_sysfs_attrs(struct usb_serial_port *port);
257 static int purge_port(struct usb_serial_port *port, __u16 mask)
259 int port_number = port->port_number;
261 dev_dbg(&port->dev, "%s - port %d, mask %x\n", __func__, port_number, mask);
263 return send_cmd(port->serial->dev,
478 static int tx_active(struct edgeport_port *port)
497 status = read_ram(port->port->serial->dev, port->dma_address,
502 dev_dbg(&port->port->dev, "%s - XByteCount 0x%X\n", __func__, oedb->XByteCount);
505 status = read_ram(port->port->serial->dev,
506 port->uart_base + UMPMEM_OFFS_UART_LSR, 1, lsr);
510 dev_dbg(&port->port->dev, "%s - LSR = 0x%X\n", __func__, *lsr);
521 dev_dbg(&port->port->dev, "%s - return %d\n", __func__, bytes_left);
884 serial->port[0]->bulk_out_endpointAddress),
1383 static int ti_do_config(struct edgeport_port *port, int feature, int on)
1385 int port_number = port->port->port_number;
1388 return send_cmd(port->port->serial->dev,
1394 static int restore_mcr(struct edgeport_port *port, __u8 mcr)
1398 dev_dbg(&port->port->dev, "%s - %x\n", __func__, mcr);
1400 status = ti_do_config(port, UMPC_SET_CLR_DTR, mcr & MCR_DTR);
1403 status = ti_do_config(port, UMPC_SET_CLR_RTS, mcr & MCR_RTS);
1406 return ti_do_config(port, UMPC_SET_CLR_LOOPBACK, mcr & MCR_LOOPBACK);
1435 dev_dbg(&edge_port->port->dev, "%s - %02x\n", __func__, msr);
1439 icount = &edge_port->port->icount;
1450 wake_up_interruptible(&edge_port->port->port.delta_msr_wait);
1456 tty = tty_port_tty_get(&edge_port->port->port);
1472 dev_dbg(&edge_port->port->dev, "%s - %02x\n", __func__, new_lsr);
1485 edge_tty_recv(edge_port->port, &data, 1);
1488 icount = &edge_port->port->icount;
1503 struct usb_serial_port *port;
1549 port = edge_serial->serial->port[port_number];
1550 edge_port = usb_get_serial_port_data(port);
1599 struct device *dev = &edge_port->port->dev;
1627 port_number = edge_port->port->port_number;
1645 edge_tty_recv(edge_port->port, data,
1647 edge_port->port->icount.rx += urb->actual_length;
1663 static void edge_tty_recv(struct usb_serial_port *port, unsigned char *data,
1668 queued = tty_insert_flip_string(&port->port, data, length);
1670 dev_err(&port->dev, "%s - dropping data, %d bytes lost\n",
1672 tty_flip_buffer_push(&port->port);
1677 struct usb_serial_port *port = urb->context;
1678 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1696 dev_err_console(port, "%s - nonzero write bulk status "
1701 tty = tty_port_tty_get(&port->port);
1702 edge_send(port, tty);
1706 static int edge_open(struct tty_struct *tty, struct usb_serial_port *port)
1708 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1720 port_number = port->port_number;
1722 dev = port->serial->dev;
1727 dev_err(&port->dev,
1733 /* set up the port settings */
1735 edge_set_termios(tty, port, &tty->termios);
1737 /* open up the port */
1750 dev_dbg(&port->dev, "%s - Sending UMPC_OPEN_PORT\n", __func__);
1752 /* Tell TI to open and start the port */
1756 dev_err(&port->dev, "%s - cannot send open command, %d\n",
1765 dev_err(&port->dev, "%s - cannot send start DMA command, %d\n",
1771 status = purge_port(port, UMP_PORT_DIR_OUT | UMP_PORT_DIR_IN);
1773 dev_err(&port->dev,
1784 dev_err(&port->dev, "%s - cannot send read MSR command, %d\n",
1789 dev_dbg(&port->dev, "ShadowMSR 0x%X\n", edge_port->shadow_msr);
1793 dev_dbg(&port->dev, "ShadowMCR 0x%X\n", edge_port->shadow_mcr);
1799 /* we are the first port to open, post the interrupt urb */
1800 urb = edge_serial->serial->port[0]->interrupt_in_urb;
1802 dev_err(&port->dev,
1811 dev_err(&port->dev,
1822 usb_clear_halt(dev, port->write_urb->pipe);
1823 usb_clear_halt(dev, port->read_urb->pipe);
1826 urb = port->read_urb;
1828 dev_err(&port->dev, "%s - no read urb present, exiting\n",
1837 dev_err(&port->dev,
1849 usb_kill_urb(port->serial->port[0]->interrupt_in_urb);
1855 static void edge_close(struct usb_serial_port *port)
1859 struct usb_serial *serial = port->serial;
1863 edge_serial = usb_get_serial_data(port->serial);
1864 edge_port = usb_get_serial_port_data(port);
1872 usb_kill_urb(port->read_urb);
1873 usb_kill_urb(port->write_urb);
1876 kfifo_reset_out(&port->write_fifo);
1879 dev_dbg(&port->dev, "%s - send umpc_close_port\n", __func__);
1880 port_number = port->port_number;
1887 /* last port is now closed, let's shut down our interrupt urb */
1888 usb_kill_urb(port->serial->port[0]->interrupt_in_urb);
1895 static int edge_write(struct tty_struct *tty, struct usb_serial_port *port,
1898 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1901 dev_dbg(&port->dev, "%s - write request of 0 bytes\n", __func__);
1910 count = kfifo_in_locked(&port->write_fifo, data, count,
1912 edge_send(port, tty);
1917 static void edge_send(struct usb_serial_port *port, struct tty_struct *tty)
1920 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1930 count = kfifo_out(&port->write_fifo,
1931 port->write_urb->transfer_buffer,
1932 port->bulk_out_size);
1943 usb_serial_debug_data(&port->dev, __func__, count, port->write_urb->transfer_buffer);
1946 port->write_urb->transfer_buffer_length = count;
1948 /* send the data out the bulk port */
1949 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
1951 dev_err_console(port,
1957 edge_port->port->icount.tx += count;
1967 struct usb_serial_port *port = tty->driver_data;
1968 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1978 room = kfifo_avail(&port->write_fifo);
1981 dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
1987 struct usb_serial_port *port = tty->driver_data;
1988 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
1995 chars = kfifo_len(&port->write_fifo);
1998 dev_dbg(&port->dev, "%s - returns %d\n", __func__, chars);
2002 static bool edge_tx_empty(struct usb_serial_port *port)
2004 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2016 struct usb_serial_port *port = tty->driver_data;
2017 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2026 status = edge_write(tty, port, &stop_char, 1);
2028 dev_err(&port->dev, "%s - failed to write stop character, %d\n", __func__, status);
2041 struct usb_serial_port *port = tty->driver_data;
2042 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2051 status = edge_write(tty, port, &start_char, 1);
2053 dev_err(&port->dev, "%s - failed to write start character, %d\n", __func__, status);
2061 dev_err(&port->dev,
2090 urb = edge_port->port->read_urb;
2104 struct device *dev = &edge_port->port->dev;
2109 int port_number = edge_port->port->port_number;
2230 status = send_cmd(edge_port->port->serial->dev, UMPC_SET_CONFIG,
2240 struct usb_serial_port *port, struct ktermios *old_termios)
2242 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2247 dev_dbg(&port->dev, "%s - clfag %08x iflag %08x\n", __func__,
2249 dev_dbg(&port->dev, "%s - old clfag %08x old iflag %08x\n", __func__,
2254 /* change the port settings to the new ones specified */
2261 struct usb_serial_port *port = tty->driver_data;
2262 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2291 struct usb_serial_port *port = tty->driver_data;
2292 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2310 dev_dbg(&port->dev, "%s -- %x\n", __func__, result);
2325 cwait = edge_port->port->port.closing_wait;
2332 tmp.line = edge_port->port->minor;
2333 tmp.port = edge_port->port->port_number;
2336 tmp.xmit_fifo_size = edge_port->port->bulk_out_size;
2349 struct usb_serial_port *port = tty->driver_data;
2350 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2354 dev_dbg(&port->dev, "%s - TIOCGSERIAL\n", __func__);
2363 struct usb_serial_port *port = tty->driver_data;
2364 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2372 dev_dbg(&port->dev, "%s - error %d sending break set/clear command.\n",
2408 static int edge_port_probe(struct usb_serial_port *port)
2418 edge_port->port = port;
2419 edge_port->edge_serial = usb_get_serial_data(port->serial);
2422 switch (port->port_number) {
2432 dev_err(&port->dev, "unknown port number\n");
2437 dev_dbg(&port->dev,
2439 __func__, port->port_number, edge_port->uart_base,
2442 usb_set_serial_port_data(port, edge_port);
2444 ret = edge_create_sysfs_attrs(port);
2448 port->port.closing_wait = msecs_to_jiffies(closing_wait * 10);
2449 port->port.drain_delay = 1;
2458 static int edge_port_remove(struct usb_serial_port *port)
2462 edge_port = usb_get_serial_port_data(port);
2463 edge_remove_sysfs_attrs(port);
2474 struct usb_serial_port *port = to_usb_serial_port(dev);
2475 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2483 struct usb_serial_port *port = to_usb_serial_port(dev);
2484 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
2498 static int edge_create_sysfs_attrs(struct usb_serial_port *port)
2500 return device_create_file(&port->dev, &dev_attr_uart_mode);
2503 static int edge_remove_sysfs_attrs(struct usb_serial_port *port)
2505 device_remove_file(&port->dev, &dev_attr_uart_mode);
2515 .description = "Edgeport TI 1 port adapter",
2548 .description = "Edgeport TI 2 port adapter",