Lines Matching refs:tport
329 static void ti_send(struct ti_port *tport);
330 static int ti_set_mcr(struct ti_port *tport, unsigned int mcr);
331 static int ti_get_lsr(struct ti_port *tport, u8 *lsr);
333 static void ti_handle_new_msr(struct ti_port *tport, u8 msr);
335 static void ti_stop_read(struct ti_port *tport, struct tty_struct *tty);
336 static int ti_restart_read(struct ti_port *tport, struct tty_struct *tty);
601 struct ti_port *tport; in ti_port_probe() local
603 tport = kzalloc(sizeof(*tport), GFP_KERNEL); in ti_port_probe()
604 if (!tport) in ti_port_probe()
607 spin_lock_init(&tport->tp_lock); in ti_port_probe()
609 tport->tp_uart_base_addr = TI_UART1_BASE_ADDR; in ti_port_probe()
611 tport->tp_uart_base_addr = TI_UART2_BASE_ADDR; in ti_port_probe()
612 tport->tp_port = port; in ti_port_probe()
613 tport->tp_tdev = usb_get_serial_data(port->serial); in ti_port_probe()
615 if (tport->tp_tdev->td_rs485_only) in ti_port_probe()
616 tport->tp_uart_mode = TI_UART_485_RECEIVER_DISABLED; in ti_port_probe()
618 tport->tp_uart_mode = TI_UART_232; in ti_port_probe()
620 usb_set_serial_port_data(port, tport); in ti_port_probe()
626 if (!tport->tp_tdev->td_is_3410) in ti_port_probe()
634 struct ti_port *tport; in ti_port_remove() local
636 tport = usb_get_serial_port_data(port); in ti_port_remove()
637 kfree(tport); in ti_port_remove()
642 struct ti_port *tport = usb_get_serial_port_data(port); in ti_open() local
654 tdev = tport->tp_tdev; in ti_open()
660 tport->tp_msr = 0; in ti_open()
661 tport->tp_shadow_mcr |= (TI_MCR_RTS | TI_MCR_DTR); in ti_open()
739 tport->tp_read_urb_state = TI_READ_URB_RUNNING; in ti_open()
740 urb->context = tport; in ti_open()
748 tport->tp_is_open = 1; in ti_open()
765 struct ti_port *tport; in ti_close() local
770 tport = usb_get_serial_port_data(port); in ti_close()
772 tport->tp_is_open = 0; in ti_close()
776 tport->tp_write_urb_in_use = 0; in ti_close()
777 spin_lock_irqsave(&tport->tp_lock, flags); in ti_close()
779 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_close()
800 struct ti_port *tport = usb_get_serial_port_data(port); in ti_write() local
806 if (!tport->tp_is_open) in ti_write()
810 &tport->tp_lock); in ti_write()
811 ti_send(tport); in ti_write()
820 struct ti_port *tport = usb_get_serial_port_data(port); in ti_write_room() local
824 spin_lock_irqsave(&tport->tp_lock, flags); in ti_write_room()
826 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_write_room()
836 struct ti_port *tport = usb_get_serial_port_data(port); in ti_chars_in_buffer() local
840 spin_lock_irqsave(&tport->tp_lock, flags); in ti_chars_in_buffer()
842 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_chars_in_buffer()
850 struct ti_port *tport = usb_get_serial_port_data(port); in ti_tx_empty() local
858 if (tport->tp_tdev->td_is_3410) in ti_tx_empty()
863 ret = ti_get_lsr(tport, &lsr); in ti_tx_empty()
873 struct ti_port *tport = usb_get_serial_port_data(port); in ti_throttle() local
876 ti_stop_read(tport, tty); in ti_throttle()
884 struct ti_port *tport = usb_get_serial_port_data(port); in ti_unthrottle() local
888 status = ti_restart_read(tport, tty); in ti_unthrottle()
899 struct ti_port *tport = usb_get_serial_port_data(port); in ti_set_termios() local
914 config->bUartMode = tport->tp_uart_mode; in ti_set_termios()
959 ti_restart_read(tport, tty); in ti_set_termios()
969 ti_restart_read(tport, tty); in ti_set_termios()
978 if (tport->tp_tdev->td_is_3410) in ti_set_termios()
1003 mcr = tport->tp_shadow_mcr; in ti_set_termios()
1007 status = ti_set_mcr(tport, mcr); in ti_set_termios()
1019 struct ti_port *tport = usb_get_serial_port_data(port); in ti_tiocmget() local
1025 spin_lock_irqsave(&tport->tp_lock, flags); in ti_tiocmget()
1026 msr = tport->tp_msr; in ti_tiocmget()
1027 mcr = tport->tp_shadow_mcr; in ti_tiocmget()
1028 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_tiocmget()
1048 struct ti_port *tport = usb_get_serial_port_data(port); in ti_tiocmset() local
1052 spin_lock_irqsave(&tport->tp_lock, flags); in ti_tiocmset()
1053 mcr = tport->tp_shadow_mcr; in ti_tiocmset()
1068 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_tiocmset()
1070 return ti_set_mcr(tport, mcr); in ti_tiocmset()
1077 struct ti_port *tport = usb_get_serial_port_data(port); in ti_break() local
1082 status = ti_write_byte(port, tport->tp_tdev, in ti_break()
1083 tport->tp_uart_base_addr + TI_UART_OFFSET_LCR, in ti_break()
1109 struct ti_port *tport; in ti_interrupt_callback() local
1156 tport = usb_get_serial_port_data(port); in ti_interrupt_callback()
1157 if (!tport) in ti_interrupt_callback()
1169 ti_handle_new_msr(tport, msr); in ti_interrupt_callback()
1188 struct ti_port *tport = urb->context; in ti_bulk_in_callback() local
1189 struct usb_serial_port *port = tport->tp_port; in ti_bulk_in_callback()
1220 if (!tport->tp_is_open) in ti_bulk_in_callback()
1225 spin_lock_irqsave(&tport->tp_lock, flags); in ti_bulk_in_callback()
1227 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_bulk_in_callback()
1232 spin_lock_irqsave(&tport->tp_lock, flags); in ti_bulk_in_callback()
1233 if (tport->tp_read_urb_state == TI_READ_URB_RUNNING) in ti_bulk_in_callback()
1235 else if (tport->tp_read_urb_state == TI_READ_URB_STOPPING) in ti_bulk_in_callback()
1236 tport->tp_read_urb_state = TI_READ_URB_STOPPED; in ti_bulk_in_callback()
1238 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_bulk_in_callback()
1247 struct ti_port *tport = urb->context; in ti_bulk_out_callback() local
1248 struct usb_serial_port *port = tport->tp_port; in ti_bulk_out_callback()
1251 tport->tp_write_urb_in_use = 0; in ti_bulk_out_callback()
1267 ti_send(tport); in ti_bulk_out_callback()
1291 static void ti_send(struct ti_port *tport) in ti_send() argument
1294 struct usb_serial_port *port = tport->tp_port; in ti_send()
1297 spin_lock_irqsave(&tport->tp_lock, flags); in ti_send()
1299 if (tport->tp_write_urb_in_use) in ti_send()
1309 tport->tp_write_urb_in_use = 1; in ti_send()
1311 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_send()
1320 ti_bulk_out_callback, tport); in ti_send()
1326 tport->tp_write_urb_in_use = 0; in ti_send()
1329 spin_lock_irqsave(&tport->tp_lock, flags); in ti_send()
1331 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_send()
1339 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_send()
1344 static int ti_set_mcr(struct ti_port *tport, unsigned int mcr) in ti_set_mcr() argument
1349 status = ti_write_byte(tport->tp_port, tport->tp_tdev, in ti_set_mcr()
1350 tport->tp_uart_base_addr + TI_UART_OFFSET_MCR, in ti_set_mcr()
1353 spin_lock_irqsave(&tport->tp_lock, flags); in ti_set_mcr()
1355 tport->tp_shadow_mcr = mcr; in ti_set_mcr()
1356 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_set_mcr()
1362 static int ti_get_lsr(struct ti_port *tport, u8 *lsr) in ti_get_lsr() argument
1365 struct usb_serial_port *port = tport->tp_port; in ti_get_lsr()
1394 struct ti_port *tport = usb_get_serial_port_data(port); in ti_get_serial_info() local
1396 ss->baud_base = tport->tp_tdev->td_is_3410 ? 921600 : 460800; in ti_get_serial_info()
1400 static void ti_handle_new_msr(struct ti_port *tport, u8 msr) in ti_handle_new_msr() argument
1406 dev_dbg(&tport->tp_port->dev, "%s - msr 0x%02X\n", __func__, msr); in ti_handle_new_msr()
1409 spin_lock_irqsave(&tport->tp_lock, flags); in ti_handle_new_msr()
1410 icount = &tport->tp_port->icount; in ti_handle_new_msr()
1419 wake_up_interruptible(&tport->tp_port->port.delta_msr_wait); in ti_handle_new_msr()
1420 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_handle_new_msr()
1423 tport->tp_msr = msr & TI_MSR_MASK; in ti_handle_new_msr()
1426 tty = tty_port_tty_get(&tport->tp_port->port); in ti_handle_new_msr()
1435 static void ti_stop_read(struct ti_port *tport, struct tty_struct *tty) in ti_stop_read() argument
1439 spin_lock_irqsave(&tport->tp_lock, flags); in ti_stop_read()
1441 if (tport->tp_read_urb_state == TI_READ_URB_RUNNING) in ti_stop_read()
1442 tport->tp_read_urb_state = TI_READ_URB_STOPPING; in ti_stop_read()
1444 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_stop_read()
1448 static int ti_restart_read(struct ti_port *tport, struct tty_struct *tty) in ti_restart_read() argument
1454 spin_lock_irqsave(&tport->tp_lock, flags); in ti_restart_read()
1456 if (tport->tp_read_urb_state == TI_READ_URB_STOPPED) { in ti_restart_read()
1457 tport->tp_read_urb_state = TI_READ_URB_RUNNING; in ti_restart_read()
1458 urb = tport->tp_port->read_urb; in ti_restart_read()
1459 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_restart_read()
1460 urb->context = tport; in ti_restart_read()
1463 tport->tp_read_urb_state = TI_READ_URB_RUNNING; in ti_restart_read()
1464 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_restart_read()