RE: [PATCH] tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
From: Sherry Sun
Date: Thu Apr 13 2023 - 22:00:03 EST
> -----Original Message-----
> From: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
> Sent: 2023年4月13日 16:56
> To: Sherry Sun <sherry.sun@xxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Jiri Slaby
> <jirislaby@xxxxxxxxxx>; philippe.schenker@xxxxxxxxxxx; linux-serial <linux-
> serial@xxxxxxxxxxxxxxx>; LKML <linux-kernel@xxxxxxxxxxxxxxx>; dl-linux-imx
> <linux-imx@xxxxxxx>
> Subject: Re: [PATCH] tty: serial: fsl_lpuart: use UARTMODIR register bits for
> lpuart32 platform
>
> On Thu, 13 Apr 2023, Sherry Sun wrote:
>
> > For lpuart32 platforms, UARTMODIR register is used instead of
> UARTMODEM.
> > So here should configure the corresponding UARTMODIR register bits.
> >
> > Fixes: 67b01837861c ("tty: serial: lpuart: Add RS485 support for
> > 32-bit uart flavour")
>
> The patch is good but I don't think Fixes tag is warranted here because
> TXRTSPOL and TXRTSE bits are the same for both registers. ...So this is mostly
> to avoid reader confusion rather than fix an actual problem.
>
> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Sure, will remove the fix tag, thanks.
Best Regards
Sherry
>
> --
> i.
>
> > Signed-off-by: Sherry Sun <sherry.sun@xxxxxxx>
> > ---
> > drivers/tty/serial/fsl_lpuart.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/tty/serial/fsl_lpuart.c
> > b/drivers/tty/serial/fsl_lpuart.c index 074bfed57fc9..9845d3f5b84b
> > 100644
> > --- a/drivers/tty/serial/fsl_lpuart.c
> > +++ b/drivers/tty/serial/fsl_lpuart.c
> > @@ -1406,12 +1406,12 @@ static int lpuart32_config_rs485(struct
> uart_port *port, struct ktermios *termio
> > struct lpuart_port, port);
> >
> > unsigned long modem = lpuart32_read(&sport->port, UARTMODIR)
> > - & ~(UARTMODEM_TXRTSPOL |
> UARTMODEM_TXRTSE);
> > + & ~(UARTMODIR_TXRTSPOL |
> UARTMODIR_TXRTSE);
> > lpuart32_write(&sport->port, modem, UARTMODIR);
> >
> > if (rs485->flags & SER_RS485_ENABLED) {
> > /* Enable auto RS-485 RTS mode */
> > - modem |= UARTMODEM_TXRTSE;
> > + modem |= UARTMODIR_TXRTSE;
> >
> > /*
> > * The hardware defaults to RTS logic HIGH while transfer.
> > @@ -1420,9 +1420,9 @@ static int lpuart32_config_rs485(struct uart_port
> *port, struct ktermios *termio
> > * Note: UART is assumed to be active high.
> > */
> > if (rs485->flags & SER_RS485_RTS_ON_SEND)
> > - modem |= UARTMODEM_TXRTSPOL;
> > + modem |= UARTMODIR_TXRTSPOL;
> > else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
> > - modem &= ~UARTMODEM_TXRTSPOL;
> > + modem &= ~UARTMODIR_TXRTSPOL;
> > }
> >
> > lpuart32_write(&sport->port, modem, UARTMODIR);
> >