Hi, On Mon, 9 Jan 2023 15:59:25 +0100 Loic Poulain wrote: > Instead of waiting for empty FIFO condition before writing a > character, wait for non-full FIFO condition. > > This helps in saving several tens of milliseconds during boot > (depending verbosity). > > Signed-off-by: Loic Poulain <[email protected]> > --- > drivers/serial/serial_mxc.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c > index 82c0d84628..f8c49865be 100644 > --- a/drivers/serial/serial_mxc.c > +++ b/drivers/serial/serial_mxc.c > @@ -223,11 +223,11 @@ static void mxc_serial_putc(const char c) > if (c == '\n') > serial_putc('\r'); > > - writel(c, &mxc_base->txd); > - > /* wait for transmitter to be ready */ > - while (!(readl(&mxc_base->ts) & UTS_TXEMPTY)) > + while (readl(&mxc_base->ts) & UTS_TXFULL) > schedule(); > + > + writel(c, &mxc_base->txd); > } > > /* Test whether a character is in the RX buffer */ > @@ -311,7 +311,7 @@ static int mxc_serial_putc(struct udevice *dev, const > char ch) > struct mxc_serial_plat *plat = dev_get_plat(dev); > struct mxc_uart *const uart = plat->reg; > > - if (!(readl(&uart->ts) & UTS_TXEMPTY)) > + if (readl(&uart->ts) & UTS_TXFULL) > return -EAGAIN; > > writel(ch, &uart->txd); > A previous attempt to do this in: |commit c7878a0483c59c48a730123bc0f4659fd40921bf |Author: Johannes Schneider <[email protected]> |Date: Tue Sep 6 14:15:04 2022 +0200 | | serial: mxc: have putc use the TXFIFO
has been reverted in: |commit fc1c1760de38823edbdc2cdd9606dff938a07f6e |Author: Fabio Estevam <[email protected]> |Date: Tue Nov 8 08:39:33 2022 -0300 | | Revert "serial: mxc: have putc use the TXFIFO" | | This reverts commit c7878a0483c59c48a730123bc0f4659fd40921bf. | | Since commit c7878a0483c5 ("serial: mxc: have putc use the TXFIFO"), | serial console corruption can be seen when priting inside board_init(). | | Revert it to avoid the regression. | | Reported-by: Tim Harvey <[email protected]> | Signed-off-by: Fabio Estevam <[email protected]> | Acked-by: Tim Harvey <[email protected]> Lothar Waßmann

