Lines Matching refs:up
35 struct uart_8250_port *up = up_to_u8250p(port); in fsl8250_handle_irq() local
37 spin_lock_irqsave(&up->port.lock, flags); in fsl8250_handle_irq()
41 spin_unlock_irqrestore(&up->port.lock, flags); in fsl8250_handle_irq()
46 if (unlikely(up->lsr_saved_flags & UART_LSR_BI)) { in fsl8250_handle_irq()
47 up->lsr_saved_flags &= ~UART_LSR_BI; in fsl8250_handle_irq()
49 spin_unlock_irqrestore(&up->port.lock, flags); in fsl8250_handle_irq()
53 lsr = orig_lsr = up->port.serial_in(&up->port, UART_LSR); in fsl8250_handle_irq()
57 (up->ier & (UART_IER_RLSI | UART_IER_RDI))) { in fsl8250_handle_irq()
58 lsr = serial8250_rx_chars(up, lsr); in fsl8250_handle_irq()
62 if ((orig_lsr & UART_LSR_OE) && (up->overrun_backoff_time_ms > 0)) { in fsl8250_handle_irq()
65 up->ier = port->serial_in(port, UART_IER); in fsl8250_handle_irq()
66 if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) { in fsl8250_handle_irq()
72 cancel_delayed_work(&up->overrun_backoff); in fsl8250_handle_irq()
75 delay = msecs_to_jiffies(up->overrun_backoff_time_ms); in fsl8250_handle_irq()
76 schedule_delayed_work(&up->overrun_backoff, delay); in fsl8250_handle_irq()
79 serial8250_modem_status(up); in fsl8250_handle_irq()
81 if ((lsr & UART_LSR_THRE) && (up->ier & UART_IER_THRI)) in fsl8250_handle_irq()
82 serial8250_tx_chars(up); in fsl8250_handle_irq()
84 up->lsr_saved_flags = orig_lsr; in fsl8250_handle_irq()
85 uart_unlock_and_check_sysrq(&up->port, flags); in fsl8250_handle_irq()