Lines Matching refs:port
75 /* port registers */
84 /* This lets uart_insert_char() drop bytes received on a !CREAD port */
179 struct uart_port port;
228 static inline struct rp2_uart_port *port_to_up(struct uart_port *port)
230 return container_of(port, struct rp2_uart_port, port);
269 static unsigned int rp2_uart_tx_empty(struct uart_port *port)
271 struct rp2_uart_port *up = port_to_up(port);
279 spin_lock_irqsave(&up->port.lock, flags);
281 spin_unlock_irqrestore(&up->port.lock, flags);
286 static unsigned int rp2_uart_get_mctrl(struct uart_port *port)
288 struct rp2_uart_port *up = port_to_up(port);
298 static void rp2_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)
300 rp2_rmw(port_to_up(port), RP2_TXRX_CTL,
307 static void rp2_uart_start_tx(struct uart_port *port)
309 rp2_rmw_set(port_to_up(port), RP2_TXRX_CTL, RP2_TXRX_CTL_TXIRQ_m);
312 static void rp2_uart_stop_tx(struct uart_port *port)
314 rp2_rmw_clr(port_to_up(port), RP2_TXRX_CTL, RP2_TXRX_CTL_TXIRQ_m);
317 static void rp2_uart_stop_rx(struct uart_port *port)
319 rp2_rmw_clr(port_to_up(port), RP2_TXRX_CTL, RP2_TXRX_CTL_RXIRQ_m);
322 static void rp2_uart_break_ctl(struct uart_port *port, int break_state)
326 spin_lock_irqsave(&port->lock, flags);
327 rp2_rmw(port_to_up(port), RP2_TXRX_CTL, RP2_TXRX_CTL_BREAK_m,
329 spin_unlock_irqrestore(&port->lock, flags);
332 static void rp2_uart_enable_ms(struct uart_port *port)
334 rp2_rmw_set(port_to_up(port), RP2_TXRX_CTL, RP2_TXRX_CTL_MSRIRQ_m);
373 static void rp2_uart_set_termios(struct uart_port *port, struct ktermios *new,
376 struct rp2_uart_port *up = port_to_up(port);
380 baud = uart_get_baud_rate(port, new, old, 0, port->uartclk / 16);
381 baud_div = uart_get_divisor(port, baud);
386 spin_lock_irqsave(&port->lock, flags);
389 port->ignore_status_mask = (new->c_cflag & CREAD) ? 0 : RP2_DUMMY_READ;
392 uart_update_timeout(port, new->c_cflag, baud);
394 spin_unlock_irqrestore(&port->lock, flags);
400 struct tty_port *port = &up->port.state->port;
407 if (!uart_handle_sysrq_char(&up->port, ch))
408 uart_insert_char(&up->port, byte, 0, ch,
419 uart_insert_char(&up->port, byte,
422 up->port.icount.rx++;
425 tty_flip_buffer_push(port);
432 uart_port_tx_limited(&up->port, ch,
443 spin_lock(&up->port.lock);
457 wake_up_interruptible(&up->port.state->port.delta_msr_wait);
459 spin_unlock(&up->port.lock);
498 static int rp2_uart_startup(struct uart_port *port)
500 struct rp2_uart_port *up = port_to_up(port);
512 static void rp2_uart_shutdown(struct uart_port *port)
514 struct rp2_uart_port *up = port_to_up(port);
517 rp2_uart_break_ctl(port, 0);
519 spin_lock_irqsave(&port->lock, flags);
522 spin_unlock_irqrestore(&port->lock, flags);
525 static const char *rp2_uart_type(struct uart_port *port)
527 return (port->type == PORT_RP2) ? "RocketPort 2 UART" : NULL;
530 static void rp2_uart_release_port(struct uart_port *port)
535 static int rp2_uart_request_port(struct uart_port *port)
541 static void rp2_uart_config_port(struct uart_port *port, int flags)
544 port->type = PORT_RP2;
547 static int rp2_uart_verify_port(struct uart_port *port,
626 rp2_uart_set_mctrl(&up->port, 0);
640 uart_remove_one_port(&rp2_uart_driver, &card->ports[i].port);
662 p = &rp->port;
686 "error registering port %d: %d\n", i, rc);