From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Felipe Balbi <balbi@ti.com>
Cc: linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
linux-mmc@vger.kernel.org, Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH 1/8] ARM: OMAP: fix DMA vs memory ordering
Date: Wed, 18 Apr 2012 11:26:39 +0100 [thread overview]
Message-ID: <20120418102639.GN25053@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20120418101854.GV13842@arwen.pp.htv.fi>
On Wed, Apr 18, 2012 at 01:18:55PM +0300, Felipe Balbi wrote:
> On Wed, Apr 18, 2012 at 11:17:33AM +0100, Russell King - ARM Linux wrote:
> > Has anyone seen a problem (other than me when trying to get DMA engine
> > working with omap-serial transmit paths) ?
>
> probably not since omap-serial isn't using DMA anyway. Nevermind
... which is a good thing because the driver is rather broken for DMA
support (take a look at what the set_termios() method does, and consider
what happens if that function is called when there's DMA activity
outstanding.)
I've come to the conclusion that it's not worth the effort to try to
convert omap-serial to DMAengine support. Firstly, DMA support requires
hardware assisted flow control to work - which it currently doesn't for
many many reasons. Not only because of wrong defines, but also because
the programming examples in the OMAP4430 TRM is wrong. You'd do much
better going to the TI16C752B data sheet and seeing how the original IP
was described. Why TI didn't include a copy of that in the TRM...
Secondly, the problem I mention above wrt set_termios(), with the flow
control fixed, results in a nice race condition causing the TX DMA to
write into registers other than the FIFO data register, corrupting the
UART configuration and halting system boot.
(I have a series of patches to fix the flow control issues, and this
requires some work outside of the omap-serial driver to achieve that.
I'll post those patches when they're fully ready. At the moment, it's
probably better to rip out all the hardware assisted flow control code
from omap-serial so that we fall back on the standard software driven
flow control.)
next prev parent reply other threads:[~2012-04-18 10:26 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-18 10:09 [RFC 0/8] DMA engine conversion for omap_hsmmc Russell King - ARM Linux
2012-04-18 10:10 ` [PATCH 1/8] ARM: OMAP: fix DMA vs memory ordering Russell King
2012-04-18 10:15 ` Felipe Balbi
2012-04-18 10:17 ` Russell King - ARM Linux
2012-04-18 10:18 ` Felipe Balbi
2012-04-18 10:26 ` Russell King - ARM Linux [this message]
2012-04-20 22:22 ` Tony Lindgren
2012-04-23 14:19 ` Russell King - ARM Linux
2012-04-23 14:27 ` Tony Lindgren
2012-04-23 14:35 ` Shilimkar, Santosh
2012-04-18 10:10 ` [PATCH 2/8] dmaengine: amba-pl08x: ensure physical channels are properly held Russell King
2012-04-18 10:19 ` Russell King - ARM Linux
2012-04-27 20:38 ` Linus Walleij
2012-04-27 21:41 ` Russell King - ARM Linux
2012-04-18 10:11 ` [PATCH 3/8] dmaengine: split out virtual channel DMA support from sa11x0 driver Russell King
2012-04-24 10:35 ` Laxman Dewangan
2012-04-24 10:50 ` Russell King - ARM Linux
2012-04-24 10:57 ` Laxman Dewangan
2012-04-18 10:11 ` [PATCH 4/8] dmaengine: add OMAP DMA engine driver Russell King
2012-04-18 10:11 ` [PATCH 5/8] mmc: omap_hsmmc: release correct resource Russell King
2012-04-20 22:23 ` Tony Lindgren
2012-04-20 22:59 ` Chris Ball
2012-04-21 2:35 ` Chris Ball
2012-04-21 9:48 ` Russell King - ARM Linux
2012-04-22 15:20 ` Chris Ball
2012-04-18 10:12 ` [PATCH 6/8] mmc: omap_hsmmc: add DMA engine support Russell King
2012-04-18 18:11 ` Tony Lindgren
2012-04-18 19:09 ` Russell King - ARM Linux
2012-04-18 19:53 ` Tony Lindgren
2012-04-18 10:12 ` [PATCH 7/8] mmc: omap_hsmmc: remove private DMA API implementation Russell King
2012-04-18 10:12 ` [PATCH 8/8] ARM: omap_hsmmc: remove platform data dma_mask and initialization Russell King
2012-04-18 15:23 ` T Krishnamoorthy, Balaji
2012-04-18 15:29 ` Russell King - ARM Linux
2012-04-18 15:35 ` T Krishnamoorthy, Balaji
2012-04-18 18:19 ` Tony Lindgren
2012-04-18 19:10 ` Russell King - ARM Linux
2012-04-18 19:55 ` Tony Lindgren
2012-04-18 19:42 ` Russell King - ARM Linux
2012-04-18 20:02 ` Tony Lindgren
2012-04-18 20:24 ` Russell King - ARM Linux
2012-04-18 21:01 ` Tony Lindgren
2012-04-18 21:16 ` Russell King - ARM Linux
2012-04-18 21:34 ` Tony Lindgren
2012-04-18 21:36 ` Russell King - ARM Linux
2012-04-19 1:39 ` Tony Lindgren
2012-04-19 17:43 ` Russell King - ARM Linux
2012-04-19 18:07 ` Tony Lindgren
2012-04-20 15:10 ` Russell King - ARM Linux
2012-04-20 15:26 ` Tony Lindgren
2012-04-20 15:37 ` Russell King - ARM Linux
2012-04-20 16:43 ` Tony Lindgren
2012-04-20 22:09 ` Russell King - ARM Linux
2012-04-20 22:21 ` Tony Lindgren
2012-04-20 16:50 ` Tony Lindgren
2012-04-23 14:14 ` Russell King - ARM Linux
2012-04-23 14:30 ` Tony Lindgren
2012-04-23 14:34 ` Russell King - ARM Linux
2012-04-23 11:46 ` [RFC 0/8] DMA engine conversion Russell King - ARM Linux
2012-04-23 12:32 ` Shilimkar, Santosh
2012-04-23 15:27 ` Shubhrajyoti
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=20120418102639.GN25053@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=balbi@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).