Re: [PATCH 03/15] serial: 8250_mxpcie: enable enhanced mode and program FIFO trigger levels

From: Andy Shevchenko

Date: Mon May 04 2026 - 11:20:17 EST


On Mon, May 4, 2026 at 11:49 AM Crescent Hsieh
<crescentcy.hsieh@xxxxxxxx> wrote:
>
> The MUEx50 UART provides an enhanced register set and programmable FIFO
> trigger levels for RX, TX, and flow control.
>
> Enable enhanced mode during port startup and program the MUEx50 FIFO
> trigger registers according to the configured port settings. Clear the
> programmed state again during shutdown to restore the default UART
> configuration.

...

> +static int mxpcie8250_startup(struct uart_port *port)
> +{
> + struct uart_8250_port *up = up_to_u8250p(port);
> + unsigned int i;
> + int ret;
> +
> + ret = serial8250_do_startup(port);
> + if (ret)
> + return ret;

This needs a good comment explaining the retry logic. Why do we even need this?

> + for (i = 0; i < 5; ++i)

for (unsigned int i ...)

> + serial_out(up, UART_FCR, UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT);
> +
> + serial_out(up, MOXA_PUART_EFR, MOXA_PUART_EFR_ENHANCED);
> + serial_out(up, MOXA_PUART_SFR, MOXA_PUART_SFR_950);
> +
> + serial_out(up, MOXA_PUART_TTL, 0);
> + serial_out(up, MOXA_PUART_RTL, 96);
> + serial_out(up, MOXA_PUART_FCL, 16);
> + serial_out(up, MOXA_PUART_FCH, 110);
> +
> + return 0;
> +}

--
With Best Regards,
Andy Shevchenko