From: msalter@redhat•com (Mark Salter)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH] usb: ehci: make HC see up-to-date qh/qtd descriptor ASAP
Date: Tue, 30 Aug 2011 14:45:34 -0400 [thread overview]
Message-ID: <1314729936.2344.71.camel@deneb.redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1108301312020.2109-100000@iolanthe.rowland.org>
On Tue, 2011-08-30 at 13:15 -0400, Alan Stern wrote:
> On Tue, 30 Aug 2011, Mark Salter wrote:
>
> > On Wed, 2011-08-31 at 00:03 +0800, ming.lei at canonical.com wrote:
> > > +/*
> > > + * Writing to dma coherent memory on ARM may be delayed via L2
> > > + * writing buffer, so introduce the helper which can flush L2 writing
> > > + * buffer into memory immediately, especially used to flush ehci
> > > + * descriptor to memory.
> > > + * */
> > > +#ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE
> > > +static inline void ehci_sync_mem()
> > > +{
> > > + mb();
> > > +}
> > > +#else
> > > +static inline void ehci_sync_mem()
> > > +{
> > > +}
> > > +#endif
> > > +
> >
> > I'm wondering if this doesn't really belong in the DMA API for any
> > future architectures that can't avoid prolonged write buffering to DMA
> > coherent memory. IIUC, ARM mitigates this for most drivers by including
> > an implicit write buffer flush in the mmio write routines. This takes
> > care of the drivers which write to a mmio device register after writing
> > something to shared DMA memory. IIUC, this doesn't help ehci because the
> > host controller is polling to see what the cpu writes to the shared
> > memory. Other hardware which polls shared memory like that will likely
> > have the same problem and could use buffer drain helpers as well.
>
> This would be a good thing to define centrally. Would you like to
> post an RFC on LKML?
Yes, I can take a stab at that.
>
> Do you know of any other examples of hardware that polls shared DMA
> memory?
Not offhand nor after a quick search. I don't think it is a common
way of doing things.
--Mark
next prev parent reply other threads:[~2011-08-30 18:45 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-30 16:03 [PATCH] usb: ehci: make HC see up-to-date qh/qtd descriptor ASAP ming.lei at canonical.com
2011-08-30 16:15 ` Alan Stern
2011-08-30 16:38 ` Mark Salter
2011-08-30 17:15 ` Alan Stern
2011-08-30 18:45 ` Mark Salter [this message]
2011-08-30 17:26 ` Will Deacon
2011-08-30 17:48 ` Greg KH
2011-08-30 17:54 ` Will Deacon
2011-08-31 0:23 ` Chen Peter-B29397
2011-08-31 8:49 ` Will Deacon
2011-08-31 12:33 ` Chen Peter-B29397
2011-08-31 13:43 ` Mark Salter
2011-08-31 15:21 ` Will Deacon
2011-08-31 15:27 ` Mark Salter
2011-08-31 16:12 ` Marc Zyngier
2011-08-31 16:55 ` Marc Dietrich
2011-09-01 10:34 ` Marc Zyngier
2011-09-01 11:13 ` Marc Dietich
2011-09-01 19:08 ` Stephen Warren
2011-09-02 9:50 ` Marc Zyngier
2011-09-02 17:07 ` Stephen Warren
2011-09-02 11:13 ` Marc Dietich
2011-08-31 17:46 ` Nicolas Pitre
2011-08-31 17:51 ` Will Deacon
2011-08-31 18:19 ` Rob Herring
2011-08-31 18:35 ` Mark Salter
2011-08-31 18:49 ` Rob Herring
2011-08-31 18:58 ` Mark Salter
2011-08-31 19:35 ` Will Deacon
2011-09-08 22:41 ` Mark Salter
2011-10-31 6:49 ` Pandita, Vikram
2011-08-31 0:56 ` Ming Lei
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=1314729936.2344.71.camel@deneb.redhat.com \
--to=msalter@redhat$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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