Lines Matching refs:port

244 static const char *snp_type(struct uart_port *port)  in snp_type()  argument
254 static unsigned int snp_tx_empty(struct uart_port *port) in snp_tx_empty() argument
264 static void snp_stop_tx(struct uart_port *port) in snp_stop_tx() argument
273 static void snp_release_port(struct uart_port *port) in snp_release_port() argument
282 static void snp_shutdown(struct uart_port *port) in snp_shutdown() argument
292 static void snp_set_mctrl(struct uart_port *port, unsigned int mctrl) in snp_set_mctrl() argument
301 static unsigned int snp_get_mctrl(struct uart_port *port) in snp_get_mctrl() argument
311 static void snp_stop_rx(struct uart_port *port) in snp_stop_rx() argument
320 static void snp_start_tx(struct uart_port *port) in snp_start_tx() argument
334 static void snp_break_ctl(struct uart_port *port, int break_state) in snp_break_ctl() argument
343 static int snp_startup(struct uart_port *port) in snp_startup() argument
356 snp_set_termios(struct uart_port *port, struct ktermios *termios, in snp_set_termios() argument
366 static int snp_request_port(struct uart_port *port) in snp_request_port() argument
377 static void snp_config_port(struct uart_port *port, int flags) in snp_config_port() argument
448 sn_receive_chars(struct sn_cons_port *port, unsigned long flags) in sn_receive_chars() argument
453 if (!port) { in sn_receive_chars()
458 if (!port->sc_ops) { in sn_receive_chars()
463 if (port->sc_port.state) { in sn_receive_chars()
465 tport = &port->sc_port.state->port; in sn_receive_chars()
468 while (port->sc_ops->sal_input_pending()) { in sn_receive_chars()
469 ch = port->sc_ops->sal_getc(); in sn_receive_chars()
481 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_receive_chars()
483 spin_lock_irqsave(&port->sc_port.lock, flags); in sn_receive_chars()
509 port->sc_port.icount.rx++; in sn_receive_chars()
528 static void sn_transmit_chars(struct sn_cons_port *port, int raw) in sn_transmit_chars() argument
535 if (!port) in sn_transmit_chars()
538 BUG_ON(!port->sc_is_asynch); in sn_transmit_chars()
540 if (port->sc_port.state) { in sn_transmit_chars()
542 xmit = &port->sc_port.state->xmit; in sn_transmit_chars()
551 if (uart_circ_empty(xmit) || uart_tx_stopped(&port->sc_port)) { in sn_transmit_chars()
572 port->sc_ops->sal_puts_raw(start, in sn_transmit_chars()
576 port->sc_ops->sal_puts(start, xmit_count); in sn_transmit_chars()
583 port->sc_port.icount.tx += result; in sn_transmit_chars()
593 uart_write_wakeup(&port->sc_port); in sn_transmit_chars()
596 snp_stop_tx(&port->sc_port); /* no-op for us */ in sn_transmit_chars()
607 struct sn_cons_port *port = (struct sn_cons_port *)dev_id; in sn_sal_interrupt() local
611 if (!port) in sn_sal_interrupt()
614 spin_lock_irqsave(&port->sc_port.lock, flags); in sn_sal_interrupt()
616 sn_receive_chars(port, flags); in sn_sal_interrupt()
619 sn_transmit_chars(port, TRANSMIT_BUFFERED); in sn_sal_interrupt()
621 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_sal_interrupt()
636 struct sn_cons_port *port = (struct sn_cons_port *)data; in sn_sal_timer_poll() local
639 if (!port) in sn_sal_timer_poll()
642 if (!port->sc_port.irq) { in sn_sal_timer_poll()
643 spin_lock_irqsave(&port->sc_port.lock, flags); in sn_sal_timer_poll()
645 sn_receive_chars(port, flags); in sn_sal_timer_poll()
646 sn_transmit_chars(port, TRANSMIT_RAW); in sn_sal_timer_poll()
647 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_sal_timer_poll()
648 mod_timer(&port->sc_timer, in sn_sal_timer_poll()
649 jiffies + port->sc_interrupt_timeout); in sn_sal_timer_poll()
667 static void __init sn_sal_switch_to_asynch(struct sn_cons_port *port) in sn_sal_switch_to_asynch() argument
671 if (!port) in sn_sal_switch_to_asynch()
679 spin_lock_irqsave(&port->sc_port.lock, flags); in sn_sal_switch_to_asynch()
682 if (!port->sc_ops) in sn_sal_switch_to_asynch()
683 port->sc_ops = &poll_ops; in sn_sal_switch_to_asynch()
690 init_timer(&port->sc_timer); in sn_sal_switch_to_asynch()
691 port->sc_timer.function = sn_sal_timer_poll; in sn_sal_switch_to_asynch()
692 port->sc_timer.data = (unsigned long)port; in sn_sal_switch_to_asynch()
695 port->sc_interrupt_timeout = 6; in sn_sal_switch_to_asynch()
699 port->sc_interrupt_timeout = in sn_sal_switch_to_asynch()
702 mod_timer(&port->sc_timer, jiffies + port->sc_interrupt_timeout); in sn_sal_switch_to_asynch()
704 port->sc_is_asynch = 1; in sn_sal_switch_to_asynch()
705 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_sal_switch_to_asynch()
719 static void __init sn_sal_switch_to_interrupts(struct sn_cons_port *port) in sn_sal_switch_to_interrupts() argument
723 if (port) { in sn_sal_switch_to_interrupts()
728 "SAL console driver", port) >= 0) { in sn_sal_switch_to_interrupts()
729 spin_lock_irqsave(&port->sc_port.lock, flags); in sn_sal_switch_to_interrupts()
730 port->sc_port.irq = SGI_UART_VECTOR; in sn_sal_switch_to_interrupts()
731 port->sc_ops = &intr_ops; in sn_sal_switch_to_interrupts()
732 irq_set_handler(port->sc_port.irq, handle_level_irq); in sn_sal_switch_to_interrupts()
736 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_sal_switch_to_interrupts()
910 struct sn_cons_port *port = &sal_console_port; in sn_sal_console_write() local
913 BUG_ON(!port->sc_is_asynch); in sn_sal_console_write()
918 if (!port->sc_port.state) { in sn_sal_console_write()
920 puts_raw_fixed(port->sc_ops->sal_puts_raw, s, count); in sn_sal_console_write()
926 if (spin_is_locked(&port->sc_port.lock)) { in sn_sal_console_write()
927 int lhead = port->sc_port.state->xmit.head; in sn_sal_console_write()
928 int ltail = port->sc_port.state->xmit.tail; in sn_sal_console_write()
943 if (!spin_is_locked(&port->sc_port.lock) in sn_sal_console_write()
946 spin_lock_irqsave(&port->sc_port.lock, in sn_sal_console_write()
953 if ((lhead != port->sc_port.state->xmit.head) in sn_sal_console_write()
955 port->sc_port.state->xmit.tail)) { in sn_sal_console_write()
957 port->sc_port.state->xmit.head; in sn_sal_console_write()
959 port->sc_port.state->xmit.tail; in sn_sal_console_write()
965 sn_transmit_chars(port, 1); in sn_sal_console_write()
967 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_sal_console_write()
973 puts_raw_fixed(port->sc_ops->sal_puts_raw, s, count); in sn_sal_console_write()
976 spin_lock_irqsave(&port->sc_port.lock, flags); in sn_sal_console_write()
977 sn_transmit_chars(port, 1); in sn_sal_console_write()
978 spin_unlock_irqrestore(&port->sc_port.lock, flags); in sn_sal_console_write()
980 puts_raw_fixed(port->sc_ops->sal_puts_raw, s, count); in sn_sal_console_write()