[PATCH v2 2/2] serial: mxc: have putc use the TXFIFO

Peng Fan peng.fan at oss.nxp.com
Tue Sep 6 02:54:06 CEST 2022



On 9/5/2022 5:58 PM, Johannes Schneider wrote:
> only waiting for TXEMPTY leads to corrupted messages going over the
> wire - which is fixed by making use of the FIFO

Could you please explain a bit more, why waiting TXEMPTY could lead
to corrupted message?

Thanks,
Peng.

> 
> Signed-off-by: Johannes Schneider <johannes.schneider at leica-geosystems.com>
> ---
> 
> (no changes since v1)
> 
>   drivers/serial/serial_mxc.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
> index 5f283cc635..1e0add7281 100644
> --- a/drivers/serial/serial_mxc.c
> +++ b/drivers/serial/serial_mxc.c
> @@ -309,7 +309,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);


More information about the U-Boot mailing list