From: Peter Hurley <peter@hurleysoftware.com>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: John Ogness <john.ogness@linutronix.de>,
linux-kernel@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Tony Lindgren <tony@atomide.com>,
linux-omap@vger.kernel.org, nsekhar@ti.com, nm@ti.com,
linux-serial@vger.kernel.org,
Heikki Krogerus <heikki.krogerus@linux.intel.com>
Subject: Re: [PATCH 3/3] serial: 8250: omap: restore registers on shutdown
Date: Thu, 06 Aug 2015 14:22:32 -0400 [thread overview]
Message-ID: <55C3A5E8.4030506@hurleysoftware.com> (raw)
In-Reply-To: <55C36846.8010104@linutronix.de>
On 08/06/2015 09:59 AM, Sebastian Andrzej Siewior wrote:
> On 08/06/2015 02:31 PM, Sebastian Andrzej Siewior wrote:
>
> Hi Peter,
>
>>> I'll look at/test this this weekend, ok?
>>
>> Sure. I'm currently re-spinning the patches so have everything in
>> proper pieces. While at it I will take a look at x_char.
>
> So now that I actually look at it. If I read this right, we never send
> the x_char if the TX-DMA never fails to do its job.
That's what I saw too; almost all the dma drivers are broken wrt x_char.
The amba-pl011 driver gets it right.
> The comment above uart_send_xchar() says it is high priority.
'High' priority is meant relative to previously written data which has
not yet been sent.
> What do you suggest, wait
> until the transfer completes, send the x_char _or_ pause the transfer
> send that byte and then send the byte?
'Better' would be sending the x_char when the current dma transfer
completes. However, it will probably have /some/ impact on what line
rates software flow control can be used. Worst case @ 115Kbaud is 35ms
delay in sending.
'Best' would be pausing the dma and sending the byte. However, I'm not
even sure if this is possible on OMAP; the TRM is woefully under-documented
in that regard.
> In both cases we have to wait until for the FIFO-empty interrupt to
> make sure we don't overrun that TX-FIFO.
>
> I *think* waiting until the transfer completes would be simpler but it
> is not necessarily high priority.
I agree; this is what we should do first because someone might want it
for backports.
Regards,
Peter Hurley
next prev parent reply other threads:[~2015-08-06 18:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-30 22:54 [PATCH 3/3] serial: 8250: omap: restore registers on shutdown John Ogness
2015-07-30 22:54 ` John Ogness
2015-07-31 0:51 ` Peter Hurley
2015-08-03 16:09 ` Sebastian Andrzej Siewior
2015-08-03 16:34 ` Peter Hurley
2015-08-03 16:54 ` Sebastian Andrzej Siewior
2015-08-03 19:32 ` Peter Hurley
2015-08-04 11:58 ` Sebastian Andrzej Siewior
2015-08-06 12:27 ` Peter Hurley
2015-08-06 12:31 ` Sebastian Andrzej Siewior
2015-08-06 13:59 ` Sebastian Andrzej Siewior
2015-08-06 18:22 ` Peter Hurley [this message]
2015-08-07 0:41 ` Charles Manning
2016-03-02 9:54 ` John Ogness
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=55C3A5E8.4030506@hurleysoftware.com \
--to=peter@hurleysoftware.com \
--cc=bigeasy@linutronix.de \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=nm@ti.com \
--cc=nsekhar@ti.com \
--cc=tony@atomide.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 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.