From: Peter Hurley <peter@hurleysoftware.com>
To: "Matwey V. Kornilov" <matwey@sai.msu.ru>
Cc: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Greg KH <gregkh@linuxfoundation.org>,
jslaby@suse.com, linux-kernel <linux-kernel@vger.kernel.org>,
linux-serial@vger.kernel.org
Subject: Re: [PATCH v3 2/5] tty: Introduce SER_RS485_SOFTWARE read-only flag for struct serial_rs485
Date: Thu, 3 Dec 2015 14:45:00 -0500 [thread overview]
Message-ID: <56609BBC.8010806@hurleysoftware.com> (raw)
In-Reply-To: <CAJs94EZiyZAsNd3A+=J9VWKzBgkoZKLn-aK+vq=zO4Lpbdnz+A@mail.gmail.com>
On 12/03/2015 12:29 PM, Matwey V. Kornilov wrote:
> 2015-12-03 17:41 GMT+03:00 Peter Hurley <peter@hurleysoftware.com>:
>> Hi Matwey,
>>
>> On 12/03/2015 12:50 AM, Matwey V. Kornilov wrote:
>>> I am working on v4, where I completely redesigned implementation. And
>>> now I think that it is considerably better than v3.
>>> It looks like the following:
>>> https://github.com/matwey/linux/commits/8520_rs485_v4
>>> But it is not ready yet, there is a bug somewhere.
>>>
>>> In the v4, each subdriver decides separately if it needs rs485
>>> emulation support. Then it enables it like the following:
>>> https://github.com/matwey/linux/commit/4455e425fc045713fb921ccec695fe183f1558f0
>>> Before calling serial8250_rs485_emul_enabled, the driver enables
>>> interrupt on empty shift register (they are always there for omap_).
>>
>> Looks good.
>>
>> Are you testing with CONFIG_SERIAL_8250_DMA=n first to simplify the
>> debug effort? DMA adds a completely different tx path.
>
> Many thanks for the advice. I've just found that the bug is not in my code =)
> Even with pure 4.3.0 I cannot open /dev/ttyS5 more than once. It just
> hangs on open() and the process is in S+ state.
Hmm, that's odd. So
$ stty -a < /dev/ttyS5
hangs if something like below is running?
$ cat > /dev/ttyS5
>> Also, before submission, please shorten the identifiers. And Greg hates
>> functions returning bool so just expanded serial8250_rs485_emul_enabled()
>> inline.
>
> Am I allowed to use `re' instead of rs485_emul in names?
Long names and constructs tend to obscure the execution flow.
Some of the names could be reduced where the meaning is obvious:
serial8250_rts_on_send
serial8250_rts_after_send
serial8250_handle_start_timer
serial8250_handle_stop_timer
These two I would inline into their lone call site:
serial8250_rs485_emul_startup()
serial8250_rs485_emul_shutdown()
serial8250_rs485_emul_start_tx => __start_tx_rs485
rs485_emul => sw485/em485/emul485/soft485 ?
Or just rs485 (except for the field name and structs so as not to confuse
it with the port->rs485)
Just my 2¢
Regards,
Peter Hurley
next prev parent reply other threads:[~2015-12-03 19:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-12 14:33 [PATCH v3 0/5] tty: Introduce software RS485 direction control support Matwey V. Kornilov
2015-11-12 14:33 ` [PATCH v3 1/5] tty: Introduce UART_CAP_HW485 Matwey V. Kornilov
2015-11-12 14:33 ` [PATCH v3 2/5] tty: Introduce SER_RS485_SOFTWARE read-only flag for struct serial_rs485 Matwey V. Kornilov
2015-11-12 19:57 ` One Thousand Gnomes
2015-11-12 20:22 ` Peter Hurley
2015-11-13 0:41 ` Andy Shevchenko
2015-11-13 1:11 ` Peter Hurley
2015-11-13 1:26 ` Andy Shevchenko
2015-11-13 1:55 ` Peter Hurley
2015-11-14 15:25 ` One Thousand Gnomes
2015-11-16 19:18 ` Peter Hurley
2015-11-17 8:20 ` Matwey V. Kornilov
2015-11-18 18:33 ` Peter Hurley
2015-11-18 19:39 ` Matwey V. Kornilov
2015-11-18 19:49 ` Matwey V. Kornilov
2015-12-02 23:20 ` Peter Hurley
2015-12-03 5:50 ` Matwey V. Kornilov
2015-12-03 14:41 ` Peter Hurley
2015-12-03 17:29 ` Matwey V. Kornilov
2015-12-03 19:45 ` Peter Hurley [this message]
2015-12-04 17:50 ` Matwey V. Kornilov
2015-11-13 20:03 ` Matwey V. Kornilov
2015-11-12 14:33 ` [PATCH v3 3/5] tty: Implement default fallback serial8250_rs485_config Matwey V. Kornilov
2015-11-12 14:33 ` [PATCH v3 4/5] tty: Move serial8250_stop_rx in front of serial8250_start_tx Matwey V. Kornilov
2015-11-12 14:33 ` [PATCH v3 5/5] tty: Add software emulated RS485 support for 8250 Matwey V. Kornilov
2015-11-12 14:48 ` Andy Shevchenko
2015-11-17 9:24 ` Uwe Kleine-König
2015-11-17 10:25 ` Matwey V. Kornilov
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=56609BBC.8010806@hurleysoftware.com \
--to=peter@hurleysoftware.com \
--cc=gnomes@lxorguk.ukuu.org.uk \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=matwey@sai.msu.ru \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.