tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform

Message ID 20230413053908.17702-1-sherry.sun@nxp.com
State New
Headers
Series tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform |

Commit Message

Sherry Sun April 13, 2023, 5:39 a.m. UTC
  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")
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
 drivers/tty/serial/fsl_lpuart.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Ilpo Järvinen April 13, 2023, 8:55 a.m. UTC | #1
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@linux.intel.com>
  
Sherry Sun April 14, 2023, 1:59 a.m. UTC | #2
> -----Original Message-----
> From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Sent: 2023年4月13日 16:56
> To: Sherry Sun <sherry.sun@nxp.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Jiri Slaby
> <jirislaby@kernel.org>; philippe.schenker@toradex.com; linux-serial <linux-
> serial@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>; dl-linux-imx
> <linux-imx@nxp.com>
> 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@linux.intel.com>

Sure, will remove the fix tag, thanks.

Best Regards
Sherry

> 
> --
>  i.
> 
> > Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
> > ---
> >  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);
> >
  

Patch

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);