diff mbox series

[1/1] serial: fsl_lpuart: RS485 RTS polariy is inverse

Message ID 20220802163854.1055323-1-shenwei.wang@nxp.com
State Superseded
Headers show
Series [1/1] serial: fsl_lpuart: RS485 RTS polariy is inverse | expand

Commit Message

Shenwei Wang Aug. 2, 2022, 4:38 p.m. UTC
The setting of RS485 RTS polarity is inverse in the current driver.

When the property of 'rs485-rts-active-low' is enabled in the dts node,
the RTS signal should be LOW during sending. Otherwise, if there is no
such a property, the RTS should be HIGH during sending.

Signed-off-by: Nicolas Diaz <nicolas.diaz@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
---
 drivers/tty/serial/fsl_lpuart.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jiri Slaby Aug. 4, 2022, 6:51 a.m. UTC | #1
On 02. 08. 22, 18:38, Shenwei Wang wrote:
> The setting of RS485 RTS polarity is inverse in the current driver.
> 
> When the property of 'rs485-rts-active-low' is enabled in the dts node,
> the RTS signal should be LOW during sending. Otherwise, if there is no
> such a property, the RTS should be HIGH during sending.

What commit this fixes? I.e. I am missing a Fixes tag below.

> Signed-off-by: Nicolas Diaz <nicolas.diaz@nxp.com>
> Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
> ---
>   drivers/tty/serial/fsl_lpuart.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
> index afa0f941c862f..abc3a3674bc39 100644
> --- a/drivers/tty/serial/fsl_lpuart.c
> +++ b/drivers/tty/serial/fsl_lpuart.c
> @@ -1394,9 +1394,9 @@ static int lpuart_config_rs485(struct uart_port *port, struct ktermios *termios,
>   		 * Note: UART is assumed to be active high.
>   		 */
>   		if (rs485->flags & SER_RS485_RTS_ON_SEND)
> -			modem &= ~UARTMODEM_TXRTSPOL;
> -		else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
>   			modem |= UARTMODEM_TXRTSPOL;
> +		else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
> +			modem &= ~UARTMODEM_TXRTSPOL;
>   	}
>   
>   	writeb(modem, sport->port.membase + UARTMODEM);

thanks,
Shenwei Wang Aug. 4, 2022, 2:35 p.m. UTC | #2
> -----Original Message-----
> From: Jiri Slaby <jirislaby@kernel.org>
> Sent: Thursday, August 4, 2022 1:51 AM
> To: Shenwei Wang <shenwei.wang@nxp.com>; gregkh@linuxfoundation.org
> Cc: linux-serial@vger.kernel.org; linux-kernel@vger.kernel.org; dl-linux-imx
> <linux-imx@nxp.com>; Nicolas Diaz <nicolas.diaz@nxp.com>
> Subject: [EXT] Re: [PATCH 1/1] serial: fsl_lpuart: RS485 RTS polariy is inverse
> 
> Caution: EXT Email
> 
> On 02. 08. 22, 18:38, Shenwei Wang wrote:
> > The setting of RS485 RTS polarity is inverse in the current driver.
> >
> > When the property of 'rs485-rts-active-low' is enabled in the dts
> > node, the RTS signal should be LOW during sending. Otherwise, if there
> > is no such a property, the RTS should be HIGH during sending.
> 
> What commit this fixes? I.e. I am missing a Fixes tag below.

It is a fix for the following commit:
Fixes: 03895cf41d18 ("tty: serial: fsl_lpuart: Add support for RS-485")

Should I send out a new version to update it?

Thanks,
Shenwei

> 
> > Signed-off-by: Nicolas Diaz <nicolas.diaz@nxp.com>
> > Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
> > ---
> >   drivers/tty/serial/fsl_lpuart.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/tty/serial/fsl_lpuart.c
> > b/drivers/tty/serial/fsl_lpuart.c index afa0f941c862f..abc3a3674bc39
> > 100644
> > --- a/drivers/tty/serial/fsl_lpuart.c
> > +++ b/drivers/tty/serial/fsl_lpuart.c
> > @@ -1394,9 +1394,9 @@ static int lpuart_config_rs485(struct uart_port *port,
> struct ktermios *termios,
> >                * Note: UART is assumed to be active high.
> >                */
> >               if (rs485->flags & SER_RS485_RTS_ON_SEND)
> > -                     modem &= ~UARTMODEM_TXRTSPOL;
> > -             else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
> >                       modem |= UARTMODEM_TXRTSPOL;
> > +             else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
> > +                     modem &= ~UARTMODEM_TXRTSPOL;
> >       }
> >
> >       writeb(modem, sport->port.membase + UARTMODEM);
> 
> thanks,
> --
> js
> suse labs
Jiri Slaby Aug. 5, 2022, 6:23 a.m. UTC | #3
On 04. 08. 22, 16:35, Shenwei Wang wrote:
>> On 02. 08. 22, 18:38, Shenwei Wang wrote:
>>> The setting of RS485 RTS polarity is inverse in the current driver.
>>>
>>> When the property of 'rs485-rts-active-low' is enabled in the dts
>>> node, the RTS signal should be LOW during sending. Otherwise, if there
>>> is no such a property, the RTS should be HIGH during sending.
>>
>> What commit this fixes? I.e. I am missing a Fixes tag below.
> 
> It is a fix for the following commit:
> Fixes: 03895cf41d18 ("tty: serial: fsl_lpuart: Add support for RS-485")
> 
> Should I send out a new version to update it?

It's up to Greg, but I guess so.
diff mbox series

Patch

diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index afa0f941c862f..abc3a3674bc39 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -1394,9 +1394,9 @@  static int lpuart_config_rs485(struct uart_port *port, struct ktermios *termios,
 		 * Note: UART is assumed to be active high.
 		 */
 		if (rs485->flags & SER_RS485_RTS_ON_SEND)
-			modem &= ~UARTMODEM_TXRTSPOL;
-		else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
 			modem |= UARTMODEM_TXRTSPOL;
+		else if (rs485->flags & SER_RS485_RTS_AFTER_SEND)
+			modem &= ~UARTMODEM_TXRTSPOL;
 	}
 
 	writeb(modem, sport->port.membase + UARTMODEM);