Lines Matching refs:priv
241 struct cypress_private *priv; in analyze_baud_rate() local
242 priv = usb_get_serial_port_data(port); in analyze_baud_rate()
275 switch (priv->chiptype) { in analyze_baud_rate()
301 struct cypress_private *priv; in cypress_serial_control() local
307 priv = usb_get_serial_port_data(port); in cypress_serial_control()
309 if (!priv->comm_is_ok) in cypress_serial_control()
319 new_baudrate = priv->baud_rate; in cypress_serial_control()
320 if (baud_rate && baud_rate != priv->baud_rate) { in cypress_serial_control()
367 spin_lock_irqsave(&priv->lock, flags); in cypress_serial_control()
368 priv->baud_rate = new_baudrate; in cypress_serial_control()
369 priv->current_config = feature_buffer[4]; in cypress_serial_control()
370 spin_unlock_irqrestore(&priv->lock, flags); in cypress_serial_control()
378 if (priv->get_cfg_unsafe) { in cypress_serial_control()
405 spin_lock_irqsave(&priv->lock, flags); in cypress_serial_control()
408 priv->current_config = feature_buffer[4]; in cypress_serial_control()
409 priv->baud_rate = get_unaligned_le32(feature_buffer); in cypress_serial_control()
410 spin_unlock_irqrestore(&priv->lock, flags); in cypress_serial_control()
413 spin_lock_irqsave(&priv->lock, flags); in cypress_serial_control()
414 ++priv->cmd_count; in cypress_serial_control()
415 spin_unlock_irqrestore(&priv->lock, flags); in cypress_serial_control()
424 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_set_dead() local
427 spin_lock_irqsave(&priv->lock, flags); in cypress_set_dead()
428 if (!priv->comm_is_ok) { in cypress_set_dead()
429 spin_unlock_irqrestore(&priv->lock, flags); in cypress_set_dead()
432 priv->comm_is_ok = 0; in cypress_set_dead()
433 spin_unlock_irqrestore(&priv->lock, flags); in cypress_set_dead()
448 struct cypress_private *priv; in cypress_generic_port_probe() local
455 priv = kzalloc(sizeof(struct cypress_private), GFP_KERNEL); in cypress_generic_port_probe()
456 if (!priv) in cypress_generic_port_probe()
459 priv->comm_is_ok = !0; in cypress_generic_port_probe()
460 spin_lock_init(&priv->lock); in cypress_generic_port_probe()
461 if (kfifo_alloc(&priv->write_fifo, CYPRESS_BUF_SIZE, GFP_KERNEL)) { in cypress_generic_port_probe()
462 kfree(priv); in cypress_generic_port_probe()
472 priv->cmd_ctrl = 0; in cypress_generic_port_probe()
473 priv->line_control = 0; in cypress_generic_port_probe()
474 priv->termios_initialized = 0; in cypress_generic_port_probe()
475 priv->rx_flags = 0; in cypress_generic_port_probe()
483 priv->pkt_fmt = packet_format_1; in cypress_generic_port_probe()
485 priv->pkt_fmt = packet_format_2; in cypress_generic_port_probe()
488 priv->write_urb_interval = interval; in cypress_generic_port_probe()
489 priv->read_urb_interval = interval; in cypress_generic_port_probe()
493 priv->write_urb_interval = port->interrupt_out_urb->interval; in cypress_generic_port_probe()
494 priv->read_urb_interval = port->interrupt_in_urb->interval; in cypress_generic_port_probe()
496 __func__, priv->read_urb_interval, in cypress_generic_port_probe()
497 priv->write_urb_interval); in cypress_generic_port_probe()
499 usb_set_serial_port_data(port, priv); in cypress_generic_port_probe()
510 struct cypress_private *priv; in cypress_earthmate_port_probe() local
519 priv = usb_get_serial_port_data(port); in cypress_earthmate_port_probe()
520 priv->chiptype = CT_EARTHMATE; in cypress_earthmate_port_probe()
523 priv->pkt_fmt = packet_format_1; in cypress_earthmate_port_probe()
533 priv->get_cfg_unsafe = !0; in cypress_earthmate_port_probe()
541 struct cypress_private *priv; in cypress_hidcom_port_probe() local
550 priv = usb_get_serial_port_data(port); in cypress_hidcom_port_probe()
551 priv->chiptype = CT_CYPHIDCOM; in cypress_hidcom_port_probe()
558 struct cypress_private *priv; in cypress_ca42v2_port_probe() local
567 priv = usb_get_serial_port_data(port); in cypress_ca42v2_port_probe()
568 priv->chiptype = CT_CA42V2; in cypress_ca42v2_port_probe()
575 struct cypress_private *priv; in cypress_port_remove() local
577 priv = usb_get_serial_port_data(port); in cypress_port_remove()
579 kfifo_free(&priv->write_fifo); in cypress_port_remove()
580 kfree(priv); in cypress_port_remove()
587 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_open() local
592 if (!priv->comm_is_ok) in cypress_open()
599 spin_lock_irqsave(&priv->lock, flags); in cypress_open()
601 priv->bytes_in = 0; in cypress_open()
602 priv->bytes_out = 0; in cypress_open()
603 priv->cmd_count = 0; in cypress_open()
604 priv->rx_flags = 0; in cypress_open()
605 spin_unlock_irqrestore(&priv->lock, flags); in cypress_open()
611 cypress_set_termios(tty, port, &priv->tmp_termios); in cypress_open()
618 cypress_read_int_callback, port, priv->read_urb_interval); in cypress_open()
633 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_dtr_rts() local
635 spin_lock_irq(&priv->lock); in cypress_dtr_rts()
637 priv->line_control = 0; in cypress_dtr_rts()
639 priv->line_control = CONTROL_DTR | CONTROL_RTS; in cypress_dtr_rts()
640 priv->cmd_ctrl = 1; in cypress_dtr_rts()
641 spin_unlock_irq(&priv->lock); in cypress_dtr_rts()
647 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_close() local
650 spin_lock_irqsave(&priv->lock, flags); in cypress_close()
651 kfifo_reset_out(&priv->write_fifo); in cypress_close()
652 spin_unlock_irqrestore(&priv->lock, flags); in cypress_close()
660 priv->bytes_in, priv->bytes_out, priv->cmd_count); in cypress_close()
667 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_write() local
674 if (priv->cmd_ctrl) { in cypress_write()
682 count = kfifo_in_locked(&priv->write_fifo, buf, count, &priv->lock); in cypress_write()
694 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_send() local
698 if (!priv->comm_is_ok) in cypress_send()
704 spin_lock_irqsave(&priv->lock, flags); in cypress_send()
705 if (priv->write_urb_in_use) { in cypress_send()
707 spin_unlock_irqrestore(&priv->lock, flags); in cypress_send()
710 spin_unlock_irqrestore(&priv->lock, flags); in cypress_send()
716 spin_lock_irqsave(&priv->lock, flags); in cypress_send()
717 switch (priv->pkt_fmt) { in cypress_send()
722 port->interrupt_out_buffer[0] = priv->line_control; in cypress_send()
727 port->interrupt_out_buffer[0] = priv->line_control; in cypress_send()
731 if (priv->line_control & CONTROL_RESET) in cypress_send()
732 priv->line_control &= ~CONTROL_RESET; in cypress_send()
734 if (priv->cmd_ctrl) { in cypress_send()
735 priv->cmd_count++; in cypress_send()
737 spin_unlock_irqrestore(&priv->lock, flags); in cypress_send()
740 spin_unlock_irqrestore(&priv->lock, flags); in cypress_send()
742 count = kfifo_out_locked(&priv->write_fifo, in cypress_send()
745 &priv->lock); in cypress_send()
749 switch (priv->pkt_fmt) { in cypress_send()
761 spin_lock_irqsave(&priv->lock, flags); in cypress_send()
762 priv->write_urb_in_use = 1; in cypress_send()
763 spin_unlock_irqrestore(&priv->lock, flags); in cypress_send()
765 if (priv->cmd_ctrl) in cypress_send()
769 (priv->pkt_fmt == packet_format_1 ? 2 : 1); in cypress_send()
777 cypress_write_int_callback, port, priv->write_urb_interval); in cypress_send()
783 priv->write_urb_in_use = 0; in cypress_send()
787 spin_lock_irqsave(&priv->lock, flags); in cypress_send()
788 if (priv->cmd_ctrl) in cypress_send()
789 priv->cmd_ctrl = 0; in cypress_send()
792 priv->bytes_out += count; in cypress_send()
793 spin_unlock_irqrestore(&priv->lock, flags); in cypress_send()
803 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_write_room() local
807 spin_lock_irqsave(&priv->lock, flags); in cypress_write_room()
808 room = kfifo_avail(&priv->write_fifo); in cypress_write_room()
809 spin_unlock_irqrestore(&priv->lock, flags); in cypress_write_room()
819 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_tiocmget() local
824 spin_lock_irqsave(&priv->lock, flags); in cypress_tiocmget()
825 control = priv->line_control; in cypress_tiocmget()
826 status = priv->current_status; in cypress_tiocmget()
827 spin_unlock_irqrestore(&priv->lock, flags); in cypress_tiocmget()
846 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_tiocmset() local
849 spin_lock_irqsave(&priv->lock, flags); in cypress_tiocmset()
851 priv->line_control |= CONTROL_RTS; in cypress_tiocmset()
853 priv->line_control |= CONTROL_DTR; in cypress_tiocmset()
855 priv->line_control &= ~CONTROL_RTS; in cypress_tiocmset()
857 priv->line_control &= ~CONTROL_DTR; in cypress_tiocmset()
858 priv->cmd_ctrl = 1; in cypress_tiocmset()
859 spin_unlock_irqrestore(&priv->lock, flags); in cypress_tiocmset()
867 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_set_termios() local
875 spin_lock_irqsave(&priv->lock, flags); in cypress_set_termios()
878 if (!priv->termios_initialized) { in cypress_set_termios()
879 if (priv->chiptype == CT_EARTHMATE) { in cypress_set_termios()
885 } else if (priv->chiptype == CT_CYPHIDCOM) { in cypress_set_termios()
891 } else if (priv->chiptype == CT_CA42V2) { in cypress_set_termios()
898 priv->termios_initialized = 1; in cypress_set_termios()
900 spin_unlock_irqrestore(&priv->lock, flags); in cypress_set_termios()
910 spin_lock_irqsave(&priv->lock, flags); in cypress_set_termios()
911 priv->tmp_termios = tty->termios; in cypress_set_termios()
912 spin_unlock_irqrestore(&priv->lock, flags); in cypress_set_termios()
945 spin_lock_irqsave(&priv->lock, flags); in cypress_set_termios()
946 oldlines = priv->line_control; in cypress_set_termios()
950 priv->line_control &= ~(CONTROL_DTR | CONTROL_RTS); in cypress_set_termios()
952 priv->line_control = (CONTROL_DTR | CONTROL_RTS); in cypress_set_termios()
953 spin_unlock_irqrestore(&priv->lock, flags); in cypress_set_termios()
971 spin_lock_irqsave(&priv->lock, flags); in cypress_set_termios()
972 if (priv->chiptype == CT_EARTHMATE && priv->baud_rate == 4800) { in cypress_set_termios()
999 linechange = (priv->line_control != oldlines); in cypress_set_termios()
1000 spin_unlock_irqrestore(&priv->lock, flags); in cypress_set_termios()
1004 priv->cmd_ctrl = 1; in cypress_set_termios()
1014 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_chars_in_buffer() local
1018 spin_lock_irqsave(&priv->lock, flags); in cypress_chars_in_buffer()
1019 chars = kfifo_len(&priv->write_fifo); in cypress_chars_in_buffer()
1020 spin_unlock_irqrestore(&priv->lock, flags); in cypress_chars_in_buffer()
1030 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_throttle() local
1032 spin_lock_irq(&priv->lock); in cypress_throttle()
1033 priv->rx_flags = THROTTLED; in cypress_throttle()
1034 spin_unlock_irq(&priv->lock); in cypress_throttle()
1041 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_unthrottle() local
1044 spin_lock_irq(&priv->lock); in cypress_unthrottle()
1045 actually_throttled = priv->rx_flags & ACTUALLY_THROTTLED; in cypress_unthrottle()
1046 priv->rx_flags = 0; in cypress_unthrottle()
1047 spin_unlock_irq(&priv->lock); in cypress_unthrottle()
1049 if (!priv->comm_is_ok) in cypress_unthrottle()
1066 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_read_int_callback() local
1097 spin_lock_irqsave(&priv->lock, flags); in cypress_read_int_callback()
1098 if (priv->rx_flags & THROTTLED) { in cypress_read_int_callback()
1100 priv->rx_flags |= ACTUALLY_THROTTLED; in cypress_read_int_callback()
1101 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1104 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1112 spin_lock_irqsave(&priv->lock, flags); in cypress_read_int_callback()
1114 switch (priv->pkt_fmt) { in cypress_read_int_callback()
1118 priv->current_status = data[0] & 0xF8; in cypress_read_int_callback()
1126 priv->current_status = data[0] & 0xF8; in cypress_read_int_callback()
1133 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1143 spin_lock_irqsave(&priv->lock, flags); in cypress_read_int_callback()
1145 if (priv->current_status != priv->prev_status) { in cypress_read_int_callback()
1146 u8 delta = priv->current_status ^ priv->prev_status; in cypress_read_int_callback()
1161 priv->prev_status = priv->current_status; in cypress_read_int_callback()
1163 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1168 !(priv->current_status & UART_CD)) { in cypress_read_int_callback()
1178 spin_lock_irqsave(&priv->lock, flags); in cypress_read_int_callback()
1179 if (priv->current_status & CYP_ERROR) { in cypress_read_int_callback()
1180 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1184 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1193 spin_lock_irqsave(&priv->lock, flags); in cypress_read_int_callback()
1195 priv->bytes_in += bytes; in cypress_read_int_callback()
1196 spin_unlock_irqrestore(&priv->lock, flags); in cypress_read_int_callback()
1203 if (priv->comm_is_ok) { in cypress_read_int_callback()
1210 priv->read_urb_interval); in cypress_read_int_callback()
1224 struct cypress_private *priv = usb_get_serial_port_data(port); in cypress_write_int_callback() local
1238 priv->write_urb_in_use = 0; in cypress_write_int_callback()
1249 priv->write_urb_in_use = 0; in cypress_write_int_callback()