diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2011-11-22 08:22:56 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-26 23:10:13 -0500 |
commit | d0758a285caaf86192cdb22136a5eb84ed72f276 (patch) | |
tree | dbfa5c77c7a15711484302566dcd2794e6733fb1 /drivers/tty/serial/mxs-auart.c | |
parent | f227824e84c8622e68d9fdc29e78af88a285dfdc (diff) |
serial/mxs-auart: only wake up tty layer once
There is no need to call uart_write_wakeup after each character send.
Once at the end of the write sequence is enough.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty/serial/mxs-auart.c')
-rw-r--r-- | drivers/tty/serial/mxs-auart.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c index 7e02c9c344fe..076169f50b01 100644 --- a/drivers/tty/serial/mxs-auart.c +++ b/drivers/tty/serial/mxs-auart.c | |||
@@ -145,11 +145,12 @@ static inline void mxs_auart_tx_chars(struct mxs_auart_port *s) | |||
145 | writel(xmit->buf[xmit->tail], | 145 | writel(xmit->buf[xmit->tail], |
146 | s->port.membase + AUART_DATA); | 146 | s->port.membase + AUART_DATA); |
147 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); | 147 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); |
148 | if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) | ||
149 | uart_write_wakeup(&s->port); | ||
150 | } else | 148 | } else |
151 | break; | 149 | break; |
152 | } | 150 | } |
151 | if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) | ||
152 | uart_write_wakeup(&s->port); | ||
153 | |||
153 | if (uart_circ_empty(&(s->port.state->xmit))) | 154 | if (uart_circ_empty(&(s->port.state->xmit))) |
154 | writel(AUART_INTR_TXIEN, | 155 | writel(AUART_INTR_TXIEN, |
155 | s->port.membase + AUART_INTR_CLR); | 156 | s->port.membase + AUART_INTR_CLR); |