Lines Matching refs:port

66 	struct uart_port		port;  member
256 bool push = up->port.state != NULL; in ip22zilog_receive_chars()
282 up->port.icount.rx++; in ip22zilog_receive_chars()
287 up->port.icount.brk++; in ip22zilog_receive_chars()
293 up->port.icount.parity++; in ip22zilog_receive_chars()
295 up->port.icount.frame++; in ip22zilog_receive_chars()
297 up->port.icount.overrun++; in ip22zilog_receive_chars()
298 r1 &= up->port.read_status_mask; in ip22zilog_receive_chars()
307 if (uart_handle_sysrq_char(&up->port, ch)) in ip22zilog_receive_chars()
311 uart_insert_char(&up->port, r1, Rx_OVR, ch, flag); in ip22zilog_receive_chars()
330 if (uart_handle_break(&up->port)) in ip22zilog_status_handle()
339 up->port.icount.dsr++; in ip22zilog_status_handle()
346 uart_handle_dcd_change(&up->port, in ip22zilog_status_handle()
349 uart_handle_cts_change(&up->port, in ip22zilog_status_handle()
352 wake_up_interruptible(&up->port.state->port.delta_msr_wait); in ip22zilog_status_handle()
391 if (up->port.x_char) { in ip22zilog_transmit_chars()
393 writeb(up->port.x_char, &channel->data); in ip22zilog_transmit_chars()
397 up->port.icount.tx++; in ip22zilog_transmit_chars()
398 up->port.x_char = 0; in ip22zilog_transmit_chars()
402 if (up->port.state == NULL) in ip22zilog_transmit_chars()
404 xmit = &up->port.state->xmit; in ip22zilog_transmit_chars()
407 if (uart_tx_stopped(&up->port)) in ip22zilog_transmit_chars()
416 up->port.icount.tx++; in ip22zilog_transmit_chars()
419 uart_write_wakeup(&up->port); in ip22zilog_transmit_chars()
435 = ZILOG_CHANNEL_FROM_PORT(&up->port); in ip22zilog_interrupt()
439 spin_lock(&up->port.lock); in ip22zilog_interrupt()
455 spin_unlock(&up->port.lock); in ip22zilog_interrupt()
458 tty_flip_buffer_push(&up->port.state->port); in ip22zilog_interrupt()
462 channel = ZILOG_CHANNEL_FROM_PORT(&up->port); in ip22zilog_interrupt()
465 spin_lock(&up->port.lock); in ip22zilog_interrupt()
478 spin_unlock(&up->port.lock); in ip22zilog_interrupt()
481 tty_flip_buffer_push(&up->port.state->port); in ip22zilog_interrupt()
492 static __inline__ unsigned char ip22zilog_read_channel_status(struct uart_port *port) in ip22zilog_read_channel_status() argument
497 channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_read_channel_status()
505 static unsigned int ip22zilog_tx_empty(struct uart_port *port) in ip22zilog_tx_empty() argument
511 spin_lock_irqsave(&port->lock, flags); in ip22zilog_tx_empty()
513 status = ip22zilog_read_channel_status(port); in ip22zilog_tx_empty()
515 spin_unlock_irqrestore(&port->lock, flags); in ip22zilog_tx_empty()
526 static unsigned int ip22zilog_get_mctrl(struct uart_port *port) in ip22zilog_get_mctrl() argument
531 status = ip22zilog_read_channel_status(port); in ip22zilog_get_mctrl()
545 static void ip22zilog_set_mctrl(struct uart_port *port, unsigned int mctrl) in ip22zilog_set_mctrl() argument
548 container_of(port, struct uart_ip22zilog_port, port); in ip22zilog_set_mctrl()
549 struct zilog_channel *channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_set_mctrl()
570 static void ip22zilog_stop_tx(struct uart_port *port) in ip22zilog_stop_tx() argument
573 container_of(port, struct uart_ip22zilog_port, port); in ip22zilog_stop_tx()
579 static void ip22zilog_start_tx(struct uart_port *port) in ip22zilog_start_tx() argument
582 container_of(port, struct uart_ip22zilog_port, port); in ip22zilog_start_tx()
583 struct zilog_channel *channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_start_tx()
599 if (port->x_char) { in ip22zilog_start_tx()
600 writeb(port->x_char, &channel->data); in ip22zilog_start_tx()
604 port->icount.tx++; in ip22zilog_start_tx()
605 port->x_char = 0; in ip22zilog_start_tx()
607 struct circ_buf *xmit = &port->state->xmit; in ip22zilog_start_tx()
616 port->icount.tx++; in ip22zilog_start_tx()
619 uart_write_wakeup(&up->port); in ip22zilog_start_tx()
624 static void ip22zilog_stop_rx(struct uart_port *port) in ip22zilog_stop_rx() argument
626 struct uart_ip22zilog_port *up = UART_ZILOG(port); in ip22zilog_stop_rx()
632 channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_stop_rx()
640 static void ip22zilog_enable_ms(struct uart_port *port) in ip22zilog_enable_ms() argument
643 container_of(port, struct uart_ip22zilog_port, port); in ip22zilog_enable_ms()
644 struct zilog_channel *channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_enable_ms()
657 static void ip22zilog_break_ctl(struct uart_port *port, int break_state) in ip22zilog_break_ctl() argument
660 container_of(port, struct uart_ip22zilog_port, port); in ip22zilog_break_ctl()
661 struct zilog_channel *channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_break_ctl()
672 spin_lock_irqsave(&port->lock, flags); in ip22zilog_break_ctl()
682 spin_unlock_irqrestore(&port->lock, flags); in ip22zilog_break_ctl()
694 channel = ZILOG_CHANNEL_FROM_PORT(&up->port); in __ip22zilog_reset()
704 channel = ZILOG_CHANNEL_FROM_PORT(&up->port); in __ip22zilog_reset()
718 channel = ZILOG_CHANNEL_FROM_PORT(&up->port); in __ip22zilog_startup()
735 static int ip22zilog_startup(struct uart_port *port) in ip22zilog_startup() argument
737 struct uart_ip22zilog_port *up = UART_ZILOG(port); in ip22zilog_startup()
743 spin_lock_irqsave(&port->lock, flags); in ip22zilog_startup()
745 spin_unlock_irqrestore(&port->lock, flags); in ip22zilog_startup()
774 static void ip22zilog_shutdown(struct uart_port *port) in ip22zilog_shutdown() argument
776 struct uart_ip22zilog_port *up = UART_ZILOG(port); in ip22zilog_shutdown()
783 spin_lock_irqsave(&port->lock, flags); in ip22zilog_shutdown()
785 channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_shutdown()
796 spin_unlock_irqrestore(&port->lock, flags); in ip22zilog_shutdown()
857 up->port.read_status_mask = Rx_OVR; in ip22zilog_convert_to_zs()
859 up->port.read_status_mask |= CRC_ERR | PAR_ERR; in ip22zilog_convert_to_zs()
861 up->port.read_status_mask |= BRK_ABRT; in ip22zilog_convert_to_zs()
863 up->port.ignore_status_mask = 0; in ip22zilog_convert_to_zs()
865 up->port.ignore_status_mask |= CRC_ERR | PAR_ERR; in ip22zilog_convert_to_zs()
867 up->port.ignore_status_mask |= BRK_ABRT; in ip22zilog_convert_to_zs()
869 up->port.ignore_status_mask |= Rx_OVR; in ip22zilog_convert_to_zs()
873 up->port.ignore_status_mask = 0xff; in ip22zilog_convert_to_zs()
878 ip22zilog_set_termios(struct uart_port *port, struct ktermios *termios, in ip22zilog_set_termios() argument
882 container_of(port, struct uart_ip22zilog_port, port); in ip22zilog_set_termios()
886 baud = uart_get_baud_rate(port, termios, old, 1200, 76800); in ip22zilog_set_termios()
888 spin_lock_irqsave(&up->port.lock, flags); in ip22zilog_set_termios()
894 if (UART_ENABLE_MS(&up->port, termios->c_cflag)) in ip22zilog_set_termios()
899 ip22zilog_maybe_update_regs(up, ZILOG_CHANNEL_FROM_PORT(port)); in ip22zilog_set_termios()
900 uart_update_timeout(port, termios->c_cflag, baud); in ip22zilog_set_termios()
902 spin_unlock_irqrestore(&up->port.lock, flags); in ip22zilog_set_termios()
905 static const char *ip22zilog_type(struct uart_port *port) in ip22zilog_type() argument
913 static void ip22zilog_release_port(struct uart_port *port) in ip22zilog_release_port() argument
917 static int ip22zilog_request_port(struct uart_port *port) in ip22zilog_request_port() argument
923 static void ip22zilog_config_port(struct uart_port *port, int flags) in ip22zilog_config_port() argument
928 static int ip22zilog_verify_port(struct uart_port *port, struct serial_struct *ser) in ip22zilog_verify_port() argument
996 static void ip22zilog_put_char(struct uart_port *port, int ch) in ip22zilog_put_char() argument
998 struct zilog_channel *channel = ZILOG_CHANNEL_FROM_PORT(port); in ip22zilog_put_char()
1024 spin_lock_irqsave(&up->port.lock, flags); in ip22zilog_console_write()
1025 uart_console_write(&up->port, s, count, ip22zilog_put_char); in ip22zilog_console_write()
1027 spin_unlock_irqrestore(&up->port.lock, flags); in ip22zilog_console_write()
1042 spin_lock_irqsave(&up->port.lock, flags); in ip22zilog_console_setup()
1048 spin_unlock_irqrestore(&up->port.lock, flags); in ip22zilog_console_setup()
1052 return uart_set_options(&up->port, con, baud, parity, bits, flow); in ip22zilog_console_setup()
1090 spin_lock_init(&ip22zilog_port_table[channel].port.lock); in ip22zilog_prepare()
1102 up[(chip * 2) + 0].port.membase = (char *) &rp->channelB; in ip22zilog_prepare()
1103 up[(chip * 2) + 1].port.membase = (char *) &rp->channelA; in ip22zilog_prepare()
1106 up[(chip * 2) + 0].port.mapbase = in ip22zilog_prepare()
1108 up[(chip * 2) + 1].port.mapbase = in ip22zilog_prepare()
1113 up[(chip * 2) + 0].port.iotype = UPIO_MEM; in ip22zilog_prepare()
1114 up[(chip * 2) + 0].port.irq = zilog_irq; in ip22zilog_prepare()
1115 up[(chip * 2) + 0].port.uartclk = ZS_CLOCK; in ip22zilog_prepare()
1116 up[(chip * 2) + 0].port.fifosize = 1; in ip22zilog_prepare()
1117 up[(chip * 2) + 0].port.ops = &ip22zilog_pops; in ip22zilog_prepare()
1118 up[(chip * 2) + 0].port.type = PORT_IP22ZILOG; in ip22zilog_prepare()
1119 up[(chip * 2) + 0].port.flags = 0; in ip22zilog_prepare()
1120 up[(chip * 2) + 0].port.line = (chip * 2) + 0; in ip22zilog_prepare()
1124 up[(chip * 2) + 1].port.iotype = UPIO_MEM; in ip22zilog_prepare()
1125 up[(chip * 2) + 1].port.irq = zilog_irq; in ip22zilog_prepare()
1126 up[(chip * 2) + 1].port.uartclk = ZS_CLOCK; in ip22zilog_prepare()
1127 up[(chip * 2) + 1].port.fifosize = 1; in ip22zilog_prepare()
1128 up[(chip * 2) + 1].port.ops = &ip22zilog_pops; in ip22zilog_prepare()
1129 up[(chip * 2) + 1].port.type = PORT_IP22ZILOG; in ip22zilog_prepare()
1130 up[(chip * 2) + 1].port.line = (chip * 2) + 1; in ip22zilog_prepare()
1174 uart_add_one_port(&ip22zilog_reg, &up->port); in ip22zilog_ports_init()
1198 uart_remove_one_port(&ip22zilog_reg, &up->port); in ip22zilog_exit()
1204 if (up[(i * 2) + 0].port.mapbase) { in ip22zilog_exit()
1205 iounmap((void*)up[(i * 2) + 0].port.mapbase); in ip22zilog_exit()
1206 up[(i * 2) + 0].port.mapbase = 0; in ip22zilog_exit()
1208 if (up[(i * 2) + 1].port.mapbase) { in ip22zilog_exit()
1209 iounmap((void*)up[(i * 2) + 1].port.mapbase); in ip22zilog_exit()
1210 up[(i * 2) + 1].port.mapbase = 0; in ip22zilog_exit()