From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Peter Hurley <peter@hurleysoftware.com>,
Vinod Koul <vinod.koul@intel.com>,
Dan Williams <dan.j.williams@intel.com>,
dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
nsekhar@ti.com, linux-omap@vger.kernel.org,
linux-serial@vger.kernel.org, john.ogness@linutronix.de,
Peter Ujfalusi <peter.ujfalusi@ti.com>
Subject: Re: [PATCH 1/3] tty: serial: 8250_omap: do not use RX DMA if pause is not supported
Date: Sat, 8 Aug 2015 10:57:54 +0100 [thread overview]
Message-ID: <20150808095753.GB7576@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <55C5CC95.6030901@linutronix.de>
On Sat, Aug 08, 2015 at 11:32:05AM +0200, Sebastian Andrzej Siewior wrote:
> This might not happen at all. At 115200 I *never* encouraged this. Once
> the FIFO is filled with less than RX-trigger size than the UART sends
> the time-out interrupt and the DMA *never* completes.
Careful with statements like that, they have a habbit of backfiring :)
It just needs the right timing - you need a character sequence which
has a pause long enough to trigger the timeout, but short enough to
get characters in between the UART deciding to report a timeout, and
the DMA being terminated.
You'll then be in the situation where the UART is receiving characters
and using the DMA, but you've been interrupted to handle the RX timeout
event. Whether the UART resets the IIR in that situation to indicate
something other than a RX timeout, I'm not sure - if it doesn't, then
there's a race there (which from your behaviour at faster rates seems
likely.)
The more loaded the system, the longer an IRQ may take to be serviced
(especially if there are interrupt handlers which aren't fast) and the
bigger the window is for that to happen. I've seen some long service
times with USB with HID in older kernels (milliseconds), but that seems
to have been fixed now - longest IRQ handling I'm now seeing is around
500us. Given 115200 baud, the character time is 87us, that's probably
more than enough if you get the timing just right.
--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
next prev parent reply other threads:[~2015-08-08 9:58 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 20:00 omap-dma + 8250_omap: fix the dmaengine_pause() Sebastian Andrzej Siewior
2015-08-07 20:00 ` [PATCH 1/3] tty: serial: 8250_omap: do not use RX DMA if pause is not supported Sebastian Andrzej Siewior
2015-08-08 0:28 ` Peter Hurley
2015-08-08 9:03 ` Russell King - ARM Linux
2015-08-11 9:57 ` Vinod Koul
2015-08-08 9:32 ` Sebastian Andrzej Siewior
2015-08-08 9:57 ` Russell King - ARM Linux [this message]
2015-08-08 15:40 ` Greg KH
2015-08-10 11:54 ` Peter Ujfalusi
2015-08-10 12:19 ` Sebastian Andrzej Siewior
2015-08-10 13:00 ` Peter Hurley
2015-08-10 17:15 ` Russell King - ARM Linux
2015-08-07 20:00 ` [PATCH 2/3] dma: add __must_check annotation for dmaengine_pause() Sebastian Andrzej Siewior
2015-08-08 0:40 ` Peter Hurley
2015-08-11 9:58 ` Vinod Koul
2015-08-11 10:06 ` Russell King - ARM Linux
2015-08-11 12:34 ` Sebastian Andrzej Siewior
2015-08-21 8:32 ` Vinod Koul
2015-08-07 20:00 ` [PATCH v3 3/3] dma: omap-dma: add support for pause of non-cyclic transfers Sebastian Andrzej Siewior
2015-08-11 12:02 ` Peter Ujfalusi
2015-08-11 12:30 ` Russell King - ARM Linux
2015-08-11 12:43 ` Peter Ujfalusi
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=20150808095753.GB7576@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=bigeasy@linutronix.de \
--cc=dan.j.williams@intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=nsekhar@ti.com \
--cc=peter.ujfalusi@ti.com \
--cc=peter@hurleysoftware.com \
--cc=vinod.koul@intel.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
all inboxes | Powered by JetHome®