Lines Matching refs:port
72 struct tty_port *port = tty->port; in receive_chars() local
77 tty_insert_flip_char(port, c, TTY_NORMAL); in receive_chars()
87 struct tty_port *port = &tile_uart->uart.state->port; in handle_receive() local
88 struct tty_struct *tty = tty_port_tty_get(port); in handle_receive()
107 tty_flip_buffer_push(port); in handle_receive()
135 struct uart_port *port; in handle_transmit() local
143 port = &tile_uart->uart; in handle_transmit()
144 xmit = &port->state->xmit; in handle_transmit()
145 if (port->x_char) { in handle_transmit()
146 if (tilegx_putchar(context, port->x_char)) in handle_transmit()
148 port->x_char = 0; in handle_transmit()
149 port->icount.tx++; in handle_transmit()
152 if (uart_circ_empty(xmit) || uart_tx_stopped(port)) in handle_transmit()
160 port->icount.tx++; in handle_transmit()
168 uart_write_wakeup(port); in handle_transmit()
181 struct uart_port *port = dev_id; in tilegx_interrupt() local
184 spin_lock_irqsave(&port->lock, flags); in tilegx_interrupt()
186 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_interrupt()
199 spin_unlock_irqrestore(&port->lock, flags); in tilegx_interrupt()
207 static u_int tilegx_tx_empty(struct uart_port *port) in tilegx_tx_empty() argument
214 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_tx_empty()
230 static void tilegx_set_mctrl(struct uart_port *port, u_int mctrl) in tilegx_set_mctrl() argument
239 static u_int tilegx_get_mctrl(struct uart_port *port) in tilegx_get_mctrl() argument
248 static void tilegx_stop_tx(struct uart_port *port) in tilegx_stop_tx() argument
257 static void tilegx_start_tx(struct uart_port *port) in tilegx_start_tx() argument
264 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_start_tx()
268 xmit = &port->state->xmit; in tilegx_start_tx()
269 if (port->x_char) { in tilegx_start_tx()
270 if (tilegx_putchar(context, port->x_char)) in tilegx_start_tx()
272 port->x_char = 0; in tilegx_start_tx()
273 port->icount.tx++; in tilegx_start_tx()
276 if (uart_circ_empty(xmit) || uart_tx_stopped(port)) { in tilegx_start_tx()
286 port->icount.tx++; in tilegx_start_tx()
290 uart_write_wakeup(port); in tilegx_start_tx()
299 static void tilegx_stop_rx(struct uart_port *port) in tilegx_stop_rx() argument
306 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_stop_rx()
320 static void tilegx_break_ctl(struct uart_port *port, int break_state) in tilegx_break_ctl() argument
329 static int tilegx_startup(struct uart_port *port) in tilegx_startup() argument
336 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_startup()
346 ret = gxio_uart_init(context, port->line); in tilegx_startup()
353 port->irq = irq_alloc_hwirq(-1); in tilegx_startup()
354 if (!port->irq) in tilegx_startup()
356 tile_irq_activate(port->irq, TILE_IRQ_PERCPU); in tilegx_startup()
359 ret = request_irq(port->irq, tilegx_interrupt, 0, in tilegx_startup()
360 tilegx_uart_driver.driver_name, port); in tilegx_startup()
367 KERNEL_PL, port->irq); in tilegx_startup()
387 free_irq(port->irq, port); in tilegx_startup()
389 irq_free_hwirq(port->irq); in tilegx_startup()
403 static void tilegx_shutdown(struct uart_port *port) in tilegx_shutdown() argument
411 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_shutdown()
427 if (port->irq > 0) { in tilegx_shutdown()
428 free_irq(port->irq, port); in tilegx_shutdown()
429 irq_free_hwirq(port->irq); in tilegx_shutdown()
430 port->irq = 0; in tilegx_shutdown()
442 static void tilegx_flush_buffer(struct uart_port *port) in tilegx_flush_buffer() argument
451 static void tilegx_set_termios(struct uart_port *port, in tilegx_set_termios() argument
461 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_set_termios()
468 err = gxio_uart_init(context, port->line); in tilegx_set_termios()
479 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16); in tilegx_set_termios()
480 divisor.divisor = uart_get_divisor(port, baud); in tilegx_set_termios()
520 static const char *tilegx_type(struct uart_port *port) in tilegx_type() argument
522 return port->type == PORT_TILEGX ? DRIVER_NAME_STRING : NULL; in tilegx_type()
529 static void tilegx_release_port(struct uart_port *port) in tilegx_release_port() argument
538 static int tilegx_request_port(struct uart_port *port) in tilegx_request_port() argument
548 static void tilegx_config_port(struct uart_port *port, int flags) in tilegx_config_port() argument
551 port->type = PORT_TILEGX; in tilegx_config_port()
558 static int tilegx_verify_port(struct uart_port *port, in tilegx_verify_port() argument
574 static int tilegx_poll_get_char(struct uart_port *port) in tilegx_poll_get_char() argument
580 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_poll_get_char()
588 static void tilegx_poll_put_char(struct uart_port *port, unsigned char c) in tilegx_poll_put_char() argument
593 tile_uart = container_of(port, struct tile_uart_port, uart); in tilegx_poll_put_char()
628 struct uart_port *port; in tilegx_init_ports() local
631 port = &tile_uart_ports[i].uart; in tilegx_init_ports()
632 port->ops = &tilegx_ops; in tilegx_init_ports()
633 port->line = i; in tilegx_init_ports()
634 port->type = PORT_TILEGX; in tilegx_init_ports()
635 port->uartclk = TILEGX_UART_REF_CLK; in tilegx_init_ports()
636 port->flags = UPF_BOOT_AUTOCONF; in tilegx_init_ports()
671 struct uart_port *port = &tile_uart_ports[i].uart; in tilegx_init() local
672 ret = uart_add_one_port(&tilegx_uart_driver, port); in tilegx_init()
682 struct uart_port *port; in tilegx_exit() local
685 port = &tile_uart_ports[i].uart; in tilegx_exit()
686 uart_remove_one_port(&tilegx_uart_driver, port); in tilegx_exit()