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()
1105 struct ti_port *tport; in ti_interrupt_callback() local
1152 tport = usb_get_serial_port_data(port); in ti_interrupt_callback()
1153 if (!tport) in ti_interrupt_callback()
1165 ti_handle_new_msr(tport, msr); in ti_interrupt_callback()
1184 struct ti_port *tport = urb->context; in ti_bulk_in_callback() local
1185 struct usb_serial_port *port = tport->tp_port; in ti_bulk_in_callback()
1216 if (!tport->tp_is_open) in ti_bulk_in_callback()
1221 spin_lock_irqsave(&tport->tp_lock, flags); in ti_bulk_in_callback()
1223 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_bulk_in_callback()
1228 spin_lock_irqsave(&tport->tp_lock, flags); in ti_bulk_in_callback()
1229 if (tport->tp_read_urb_state == TI_READ_URB_RUNNING) in ti_bulk_in_callback()
1231 else if (tport->tp_read_urb_state == TI_READ_URB_STOPPING) in ti_bulk_in_callback()
1232 tport->tp_read_urb_state = TI_READ_URB_STOPPED; in ti_bulk_in_callback()
1234 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_bulk_in_callback()
1243 struct ti_port *tport = urb->context; in ti_bulk_out_callback() local
1244 struct usb_serial_port *port = tport->tp_port; in ti_bulk_out_callback()
1247 tport->tp_write_urb_in_use = 0; in ti_bulk_out_callback()
1263 ti_send(tport); in ti_bulk_out_callback()
1287 static void ti_send(struct ti_port *tport) in ti_send() argument
1290 struct usb_serial_port *port = tport->tp_port; in ti_send()
1293 spin_lock_irqsave(&tport->tp_lock, flags); in ti_send()
1295 if (tport->tp_write_urb_in_use) in ti_send()
1305 tport->tp_write_urb_in_use = 1; in ti_send()
1307 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_send()
1316 ti_bulk_out_callback, tport); in ti_send()
1322 tport->tp_write_urb_in_use = 0; in ti_send()
1325 spin_lock_irqsave(&tport->tp_lock, flags); in ti_send()
1327 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_send()
1335 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_send()
1340 static int ti_set_mcr(struct ti_port *tport, unsigned int mcr) in ti_set_mcr() argument
1345 status = ti_write_byte(tport->tp_port, tport->tp_tdev, in ti_set_mcr()
1346 tport->tp_uart_base_addr + TI_UART_OFFSET_MCR, in ti_set_mcr()
1349 spin_lock_irqsave(&tport->tp_lock, flags); in ti_set_mcr()
1351 tport->tp_shadow_mcr = mcr; in ti_set_mcr()
1352 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_set_mcr()
1358 static int ti_get_lsr(struct ti_port *tport, u8 *lsr) in ti_get_lsr() argument
1361 struct usb_serial_port *port = tport->tp_port; in ti_get_lsr()
1390 struct ti_port *tport = usb_get_serial_port_data(port); in ti_get_serial_info() local
1392 ss->baud_base = tport->tp_tdev->td_is_3410 ? 921600 : 460800; in ti_get_serial_info()
1396 static void ti_handle_new_msr(struct ti_port *tport, u8 msr) in ti_handle_new_msr() argument
1402 dev_dbg(&tport->tp_port->dev, "%s - msr 0x%02X\n", __func__, msr); in ti_handle_new_msr()
1405 spin_lock_irqsave(&tport->tp_lock, flags); in ti_handle_new_msr()
1406 icount = &tport->tp_port->icount; in ti_handle_new_msr()
1415 wake_up_interruptible(&tport->tp_port->port.delta_msr_wait); in ti_handle_new_msr()
1416 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_handle_new_msr()
1419 tport->tp_msr = msr & TI_MSR_MASK; in ti_handle_new_msr()
1422 tty = tty_port_tty_get(&tport->tp_port->port); in ti_handle_new_msr()
1431 static void ti_stop_read(struct ti_port *tport, struct tty_struct *tty) in ti_stop_read() argument
1435 spin_lock_irqsave(&tport->tp_lock, flags); in ti_stop_read()
1437 if (tport->tp_read_urb_state == TI_READ_URB_RUNNING) in ti_stop_read()
1438 tport->tp_read_urb_state = TI_READ_URB_STOPPING; in ti_stop_read()
1440 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_stop_read()
1444 static int ti_restart_read(struct ti_port *tport, struct tty_struct *tty) in ti_restart_read() argument
1450 spin_lock_irqsave(&tport->tp_lock, flags); in ti_restart_read()
1452 if (tport->tp_read_urb_state == TI_READ_URB_STOPPED) { in ti_restart_read()
1453 tport->tp_read_urb_state = TI_READ_URB_RUNNING; in ti_restart_read()
1454 urb = tport->tp_port->read_urb; in ti_restart_read()
1455 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_restart_read()
1456 urb->context = tport; in ti_restart_read()
1459 tport->tp_read_urb_state = TI_READ_URB_RUNNING; in ti_restart_read()
1460 spin_unlock_irqrestore(&tport->tp_lock, flags); in ti_restart_read()