From 240754894c30e3b13ca91113f177dd7f315eb297 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Tue, 3 May 2022 10:08:08 +0200 Subject: serial: pch: inline pop_tx() into handle_tx() Given pop_tx() is a simple loop, inline it directly into handle_tx(). The code in handle_tx() looks much saner and straightforward now. Signed-off-by: Jiri Slaby Link: https://lore.kernel.org/r/20220503080808.28332-6-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/pch_uart.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) (limited to 'drivers/tty/serial/pch_uart.c') diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c index e1eadf519089..3b26524d48e3 100644 --- a/drivers/tty/serial/pch_uart.c +++ b/drivers/tty/serial/pch_uart.c @@ -757,23 +757,6 @@ static void pch_dma_tx_complete(void *arg) pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_TX_INT); } -static bool pop_tx(struct eg20t_port *priv, unsigned int size) -{ - struct uart_port *port = &priv->port; - struct circ_buf *xmit = &port->state->xmit; - bool ret = false; - - while (!uart_tx_stopped(port) && !uart_circ_empty(xmit) && size) { - iowrite8(xmit->buf[xmit->tail], priv->membase + PCH_UART_THR); - xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); - port->icount.tx++; - size--; - ret = true; - } - - return ret; -} - static int handle_rx_to(struct eg20t_port *priv) { struct pch_uart_buffer *buf; @@ -837,6 +820,7 @@ static int dma_handle_rx(struct eg20t_port *priv) static unsigned int handle_tx(struct eg20t_port *priv) { struct uart_port *port = &priv->port; + struct circ_buf *xmit = &port->state->xmit; int fifo_size; int tx_empty; @@ -858,8 +842,13 @@ static unsigned int handle_tx(struct eg20t_port *priv) fifo_size--; } - if (fifo_size && pop_tx(priv, fifo_size)) + while (!uart_tx_stopped(port) && !uart_circ_empty(xmit) && fifo_size) { + iowrite8(xmit->buf[xmit->tail], priv->membase + PCH_UART_THR); + xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); + port->icount.tx++; + fifo_size--; tx_empty = 0; + } priv->tx_empty = tx_empty; -- cgit v1.2.3