serial: pch_uart: Use uart_xmit_advance()
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Wed, 19 Oct 2022 09:11:11 +0000 (12:11 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Nov 2022 02:35:41 +0000 (03:35 +0100)
Take advantage of the new uart_xmit_advance() helper.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20221019091151.6692-5-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/pch_uart.c

index c59ce788657999dbd1931b5e8aef8f3e7ddd118e..c76719c0f453a0f7fb0c0d26720ab9fb9f6a3955 100644 (file)
@@ -738,15 +738,12 @@ static void pch_dma_tx_complete(void *arg)
 {
        struct eg20t_port *priv = arg;
        struct uart_port *port = &priv->port;
-       struct circ_buf *xmit = &port->state->xmit;
        struct scatterlist *sg = priv->sg_tx_p;
        int i;
 
-       for (i = 0; i < priv->nent; i++, sg++) {
-               xmit->tail += sg_dma_len(sg);
-               port->icount.tx += sg_dma_len(sg);
-       }
-       xmit->tail &= UART_XMIT_SIZE - 1;
+       for (i = 0; i < priv->nent; i++, sg++)
+               uart_xmit_advance(port, sg_dma_len(sg));
+
        async_tx_ack(priv->desc_tx);
        dma_unmap_sg(port->dev, sg, priv->orig_nent, DMA_TO_DEVICE);
        priv->tx_dma_use = 0;
@@ -843,8 +840,7 @@ static unsigned int handle_tx(struct eg20t_port *priv)
 
        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++;
+               uart_xmit_advance(port, 1);
                fifo_size--;
                tx_empty = 0;
        }