Lines Matching refs:up

85 static void mtk8250_rx_dma(struct uart_8250_port *up);
89 struct uart_8250_port *up = param; in mtk8250_dma_rx_complete() local
90 struct uart_8250_dma *dma = up->dma; in mtk8250_dma_rx_complete()
91 struct mtk8250_data *data = up->port.private_data; in mtk8250_dma_rx_complete()
92 struct tty_port *tty_port = &up->port.state->port; in mtk8250_dma_rx_complete()
118 up->port.icount.rx += copied; in mtk8250_dma_rx_complete()
122 mtk8250_rx_dma(up); in mtk8250_dma_rx_complete()
125 static void mtk8250_rx_dma(struct uart_8250_port *up) in mtk8250_rx_dma() argument
127 struct uart_8250_dma *dma = up->dma; in mtk8250_rx_dma()
139 desc->callback_param = up; in mtk8250_rx_dma()
146 static void mtk8250_dma_enable(struct uart_8250_port *up) in mtk8250_dma_enable() argument
148 struct uart_8250_dma *dma = up->dma; in mtk8250_dma_enable()
149 struct mtk8250_data *data = up->port.private_data; in mtk8250_dma_enable()
150 int lcr = serial_in(up, UART_LCR); in mtk8250_dma_enable()
161 serial_out(up, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | in mtk8250_dma_enable()
163 serial_out(up, MTK_UART_DMA_EN, in mtk8250_dma_enable()
166 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); in mtk8250_dma_enable()
167 serial_out(up, UART_EFR, UART_EFR_ECB); in mtk8250_dma_enable()
168 serial_out(up, UART_LCR, lcr); in mtk8250_dma_enable()
177 mtk8250_rx_dma(up); in mtk8250_dma_enable()
184 struct uart_8250_port *up = up_to_u8250p(port); in mtk8250_startup() local
189 up->dma = NULL; in mtk8250_startup()
191 if (up->dma) { in mtk8250_startup()
204 struct uart_8250_port *up = up_to_u8250p(port); in mtk8250_shutdown() local
207 if (up->dma) in mtk8250_shutdown()
214 static void mtk8250_disable_intrs(struct uart_8250_port *up, int mask) in mtk8250_disable_intrs() argument
216 serial_out(up, UART_IER, serial_in(up, UART_IER) & (~mask)); in mtk8250_disable_intrs()
219 static void mtk8250_enable_intrs(struct uart_8250_port *up, int mask) in mtk8250_enable_intrs() argument
221 serial_out(up, UART_IER, serial_in(up, UART_IER) | mask); in mtk8250_enable_intrs()
224 static void mtk8250_set_flow_ctrl(struct uart_8250_port *up, int mode) in mtk8250_set_flow_ctrl() argument
226 struct uart_port *port = &up->port; in mtk8250_set_flow_ctrl()
227 int lcr = serial_in(up, UART_LCR); in mtk8250_set_flow_ctrl()
229 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); in mtk8250_set_flow_ctrl()
230 serial_out(up, UART_EFR, UART_EFR_ECB); in mtk8250_set_flow_ctrl()
231 serial_out(up, UART_LCR, lcr); in mtk8250_set_flow_ctrl()
232 lcr = serial_in(up, UART_LCR); in mtk8250_set_flow_ctrl()
236 serial_out(up, MTK_UART_ESCAPE_DAT, MTK_UART_ESCAPE_CHAR); in mtk8250_set_flow_ctrl()
237 serial_out(up, MTK_UART_ESCAPE_EN, 0x00); in mtk8250_set_flow_ctrl()
238 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); in mtk8250_set_flow_ctrl()
239 serial_out(up, UART_EFR, serial_in(up, UART_EFR) & in mtk8250_set_flow_ctrl()
241 serial_out(up, UART_LCR, lcr); in mtk8250_set_flow_ctrl()
242 mtk8250_disable_intrs(up, MTK_UART_IER_XOFFI | in mtk8250_set_flow_ctrl()
247 serial_out(up, MTK_UART_ESCAPE_DAT, MTK_UART_ESCAPE_CHAR); in mtk8250_set_flow_ctrl()
248 serial_out(up, MTK_UART_ESCAPE_EN, 0x00); in mtk8250_set_flow_ctrl()
249 serial_out(up, UART_MCR, UART_MCR_RTS); in mtk8250_set_flow_ctrl()
250 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); in mtk8250_set_flow_ctrl()
253 serial_out(up, UART_EFR, MTK_UART_EFR_HW_FC | in mtk8250_set_flow_ctrl()
254 (serial_in(up, UART_EFR) & in mtk8250_set_flow_ctrl()
257 serial_out(up, UART_LCR, lcr); in mtk8250_set_flow_ctrl()
258 mtk8250_disable_intrs(up, MTK_UART_IER_XOFFI); in mtk8250_set_flow_ctrl()
259 mtk8250_enable_intrs(up, MTK_UART_IER_CTSI | MTK_UART_IER_RTSI); in mtk8250_set_flow_ctrl()
263 serial_out(up, MTK_UART_ESCAPE_DAT, MTK_UART_ESCAPE_CHAR); in mtk8250_set_flow_ctrl()
264 serial_out(up, MTK_UART_ESCAPE_EN, 0x01); in mtk8250_set_flow_ctrl()
265 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); in mtk8250_set_flow_ctrl()
268 serial_out(up, UART_EFR, MTK_UART_EFR_XON1_XOFF1 | in mtk8250_set_flow_ctrl()
269 (serial_in(up, UART_EFR) & in mtk8250_set_flow_ctrl()
272 serial_out(up, UART_XON1, START_CHAR(port->state->port.tty)); in mtk8250_set_flow_ctrl()
273 serial_out(up, UART_XOFF1, STOP_CHAR(port->state->port.tty)); in mtk8250_set_flow_ctrl()
274 serial_out(up, UART_LCR, lcr); in mtk8250_set_flow_ctrl()
275 mtk8250_disable_intrs(up, MTK_UART_IER_CTSI|MTK_UART_IER_RTSI); in mtk8250_set_flow_ctrl()
276 mtk8250_enable_intrs(up, MTK_UART_IER_XOFFI); in mtk8250_set_flow_ctrl()
293 struct uart_8250_port *up = up_to_u8250p(port); in mtk8250_set_termios() local
299 if (up->dma) { in mtk8250_set_termios()
301 devm_kfree(up->port.dev, up->dma); in mtk8250_set_termios()
302 up->dma = NULL; in mtk8250_set_termios()
304 mtk8250_dma_enable(up); in mtk8250_set_termios()
361 serial_port_out(port, UART_LCR, up->lcr | UART_LCR_DLAB); in mtk8250_set_termios()
362 serial_dl_write(up, quot); in mtk8250_set_termios()
365 serial_port_out(port, UART_LCR, up->lcr); in mtk8250_set_termios()
396 mtk8250_set_flow_ctrl(up, mode); in mtk8250_set_termios()
399 up->port.cons->cflag = termios->c_cflag; in mtk8250_set_termios()
410 struct uart_8250_port *up = serial8250_get_port(data->line); in mtk8250_runtime_suspend() local
414 (serial_in(up, MTK_UART_DEBUG0)); in mtk8250_runtime_suspend()