All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: gregkh@linuxfoundation.org
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jslaby@suse.cz>
Subject: [PATCH 7/7] serial: pch: inline pop_tx() into handle_tx()
Date: Tue,  3 May 2022 10:08:08 +0200	[thread overview]
Message-ID: <20220503080808.28332-6-jslaby@suse.cz> (raw)
In-Reply-To: <20220503080808.28332-1-jslaby@suse.cz>

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 <jslaby@suse.cz>
---
 drivers/tty/serial/pch_uart.c | 25 +++++++------------------
 1 file changed, 7 insertions(+), 18 deletions(-)

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;
 
-- 
2.36.0


      parent reply	other threads:[~2022-05-03  8:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-03  8:06 [PATCH 0/7] serial: pch: cleanup Jiri Slaby
2022-05-03  8:06 ` [PATCH 1/7] serial: pch: move size check from pop_tx one level up Jiri Slaby
2022-05-03  9:24   ` Andy Shevchenko
2022-05-03  8:08 ` [PATCH 2/7] serial: pch: don't overwrite xmit->buf[0] by x_char Jiri Slaby
2022-05-03  8:08   ` [PATCH 3/7] serial: pch: decomission pch_uart_hal_write() Jiri Slaby
2022-05-03  8:08   ` [PATCH 4/7] serial: pch: remove debug print from pop_tx Jiri Slaby
2022-05-03  8:08   ` [PATCH 5/7] serial: pch: remove xmit circ_buf size double check Jiri Slaby
2022-05-03  8:08   ` [PATCH 6/7] serial: pch: simplify pop_tx() even more Jiri Slaby
2022-05-03  8:08   ` Jiri Slaby [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220503080808.28332-6-jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.