From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Alexander Dahl <ada@thorsis.com>
Cc: Mathieu Othacehe <othacehe@gnu.org>,
Richard Genoud <richard.genoud@bootlin.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
LKML <linux-kernel@vger.kernel.org>,
linux-serial <linux-serial@vger.kernel.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] tty: atmel_serial: use the correct RTS flag.
Date: Tue, 13 Aug 2024 11:17:13 +0300 (EEST) [thread overview]
Message-ID: <84eaddb1-0987-d44f-cba0-48e519f93fed@linux.intel.com> (raw)
In-Reply-To: <20240813-absinthe-plaza-70575e847015@thorsis.com>
[-- Attachment #1: Type: text/plain, Size: 2681 bytes --]
On Tue, 13 Aug 2024, Alexander Dahl wrote:
> Hello Mathieu,
>
> Am Thu, Aug 08, 2024 at 08:06:37AM +0200 schrieb Mathieu Othacehe:
> > In RS485 mode, the RTS pin is driven high by hardware when the transmitter
> > is operating. This behaviour cannot be changed. This means that the driver
> > should claim that it supports SER_RS485_RTS_ON_SEND and not
> > SER_RS485_RTS_AFTER_SEND.
> >
> > Otherwise, when configuring the port with the SER_RS485_RTS_ON_SEND, one
> > get the following warning:
> >
> > kern.warning kernel: atmel_usart_serial atmel_usart_serial.2.auto:
> > ttyS1 (1): invalid RTS setting, using RTS_AFTER_SEND instead
>
> I've seen this warning already, when migrating a sam9x60 based board
> from LTS kernel 6.1 to 6.6, so thanks for taking care of this.
>
> I can confirm after applying the patch on top of 6.6.44 the warning is
> gone, and RS-485 communication still works on our platform, so …
>
> Tested-by: Alexander Dahl <ada@thorsis.com>
>
> Does this deserve a Fixes tag for the change which introduced struct
> serial_rs485 to the atmel serial driver? Then it should be this:
>
> Fixes: af47c491e3c7 ("serial: atmel: Fill in rs485_supported")
>
> Greets
> Alex
>
> > which is contradictory with what's really happening.
> >
> > Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This got (more) broken by one of the changes made into
uart_sanitize_serial_rs485() even if af47c491e3c7 used a wrong flag and
must be fixed. The code in af47c491e3c7:uart_sanitize_serial_rs485()
picks RTS_ON_SEND if no RTS_*_SEND flag is specified by the userspace
code.
The behavior change was due to 4afeced55baa ("serial: core: fix sanitizing
check for RTS settings") that enforced flags differently (4afeced55baa
makes very much sense but because of the wrong flag in atmel driver, it
ended up breaking atmel).
--
i.
> > ---
> > drivers/tty/serial/atmel_serial.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
> > index 0a90964d6d107..09b246c9e389e 100644
> > --- a/drivers/tty/serial/atmel_serial.c
> > +++ b/drivers/tty/serial/atmel_serial.c
> > @@ -2514,7 +2514,7 @@ static const struct uart_ops atmel_pops = {
> > };
> >
> > static const struct serial_rs485 atmel_rs485_supported = {
> > - .flags = SER_RS485_ENABLED | SER_RS485_RTS_AFTER_SEND | SER_RS485_RX_DURING_TX,
> > + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | SER_RS485_RX_DURING_TX,
> > .delay_rts_before_send = 1,
> > .delay_rts_after_send = 1,
> > };
> > --
> > 2.45.2
> >
> >
>
next prev parent reply other threads:[~2024-08-13 8:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-08 6:06 [PATCH] tty: atmel_serial: use the correct RTS flag Mathieu Othacehe
2024-08-09 16:45 ` Richard GENOUD
2024-08-13 7:59 ` Alexander Dahl
2024-08-13 8:17 ` Ilpo Järvinen [this message]
2024-08-22 14:06 ` Richard GENOUD
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=84eaddb1-0987-d44f-cba0-48e519f93fed@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=ada@thorsis.com \
--cc=alexandre.belloni@bootlin.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=othacehe@gnu.org \
--cc=richard.genoud@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox