Lines Matching refs:p

16 	struct uart_8250_port	*p = param;  in __dma_tx_complete()  local
17 struct uart_8250_dma *dma = p->dma; in __dma_tx_complete()
18 struct circ_buf *xmit = &p->port.state->xmit; in __dma_tx_complete()
25 spin_lock_irqsave(&p->port.lock, flags); in __dma_tx_complete()
29 uart_xmit_advance(&p->port, dma->tx_size); in __dma_tx_complete()
32 uart_write_wakeup(&p->port); in __dma_tx_complete()
34 ret = serial8250_tx_dma(p); in __dma_tx_complete()
36 serial8250_set_THRI(p); in __dma_tx_complete()
38 spin_unlock_irqrestore(&p->port.lock, flags); in __dma_tx_complete()
41 static void __dma_rx_complete(struct uart_8250_port *p) in __dma_rx_complete() argument
43 struct uart_8250_dma *dma = p->dma; in __dma_rx_complete()
44 struct tty_port *tty_port = &p->port.state->port; in __dma_rx_complete()
61 p->port.icount.rx += count; in __dma_rx_complete()
69 struct uart_8250_port *p = param; in dma_rx_complete() local
70 struct uart_8250_dma *dma = p->dma; in dma_rx_complete()
73 spin_lock_irqsave(&p->port.lock, flags); in dma_rx_complete()
75 __dma_rx_complete(p); in dma_rx_complete()
81 if (!dma->rx_running && (serial_lsr_in(p) & UART_LSR_DR)) in dma_rx_complete()
82 p->dma->rx_dma(p); in dma_rx_complete()
83 spin_unlock_irqrestore(&p->port.lock, flags); in dma_rx_complete()
86 int serial8250_tx_dma(struct uart_8250_port *p) in serial8250_tx_dma() argument
88 struct uart_8250_dma *dma = p->dma; in serial8250_tx_dma()
89 struct circ_buf *xmit = &p->port.state->xmit; in serial8250_tx_dma()
91 struct uart_port *up = &p->port; in serial8250_tx_dma()
105 if (uart_tx_stopped(&p->port) || uart_circ_empty(xmit)) { in serial8250_tx_dma()
112 serial8250_do_prepare_tx_dma(p); in serial8250_tx_dma()
125 desc->callback_param = p; in serial8250_tx_dma()
133 serial8250_clear_THRI(p); in serial8250_tx_dma()
142 int serial8250_rx_dma(struct uart_8250_port *p) in serial8250_rx_dma() argument
144 struct uart_8250_dma *dma = p->dma; in serial8250_rx_dma()
150 serial8250_do_prepare_rx_dma(p); in serial8250_rx_dma()
160 desc->callback_param = p; in serial8250_rx_dma()
169 void serial8250_rx_dma_flush(struct uart_8250_port *p) in serial8250_rx_dma_flush() argument
171 struct uart_8250_dma *dma = p->dma; in serial8250_rx_dma_flush()
175 __dma_rx_complete(p); in serial8250_rx_dma_flush()
181 int serial8250_request_dma(struct uart_8250_port *p) in serial8250_request_dma() argument
183 struct uart_8250_dma *dma = p->dma; in serial8250_request_dma()
185 dma->rx_dma_addr : p->port.mapbase; in serial8250_request_dma()
187 dma->tx_dma_addr : p->port.mapbase; in serial8250_request_dma()
207 p->port.dev, "rx"); in serial8250_request_dma()
226 p->port.dev, "tx"); in serial8250_request_dma()
256 p->port.state->xmit.buf, in serial8250_request_dma()
266 dev_dbg_ratelimited(p->port.dev, "got both dma channels\n"); in serial8250_request_dma()
277 void serial8250_release_dma(struct uart_8250_port *p) in serial8250_release_dma() argument
279 struct uart_8250_dma *dma = p->dma; in serial8250_release_dma()
299 dev_dbg_ratelimited(p->port.dev, "dma channels released\n"); in serial8250_release_dma()