From: Matt Porter <mporter@kernel.crashing.org>
To: Martin Diehl <lists@mdiehl.de>
Cc: Deepak Saxena <dsaxena@plexity.net>,
"David S. Miller" <davem@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: [Patch] dma_sync_to_device
Date: Wed, 11 Feb 2004 11:18:00 -0700 [thread overview]
Message-ID: <20040211111800.A5618@home.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0402110729510.2349-100000@notebook.home.mdiehl.de>; from lists@mdiehl.de on Wed, Feb 11, 2004 at 07:51:48AM +0100
On Wed, Feb 11, 2004 at 07:51:48AM +0100, Martin Diehl wrote:
> On Tue, 10 Feb 2004, Deepak Saxena wrote:
>
> > > + pci_dma_sync_to_device_single(dev, dma_handle, size, direction);
> >
> > Maybe I am missunderstanding something, but how is this
> > any different than simply doing:
> >
> > pci_dma_sync_single(dev, dma_handle, size, DMA_TO_DEVICE);
>
> For i386 you are right: the implementation of pci_dma_sync_single and
> pci_dma_sync_to_device_single happen to be identical. This is because this
> arch is cache-coherent so all we have to do to achieve consistency is
> flushing the buffers. However, for other arch's there might be significant
> dependency on the direction.
Sure, other non cache coherent arch's that I'm aware of (PPC, ARM, etc.)
already implement the least expensive cache operations based on the
direction parameter in pci_dma_sync_single(). On PPC, we do the right
thing based on each of three valid directions, I don't yet see what
additional information pci_dma_sync_to_device_single() provides.
> The existing pci_dma_sync_single was meant for the FROM_DEVICE direction
> only. I agree it's not entirely obvious currently. But making it
It's definitely not obvious since DMA-mapping.txt shows it as having
a direction parameter and makes no claim that it is only for the
FROM_DEVICE direction. In addition, all the non-coherent arches I've
worked on implement all the directions.
> BIDIRECTIONAL would be pretty expensive on some none cache-coherent archs
> and the whole point of having separate streaming mappings with dedicated
> TO or FROM direction would be void.
BIDIRECTIONAL would be expensive, yes, that's why pci_dma_sync_single()
implementation use the already present directional information to do
the right thing.
Maybe we need a clear example.
-Matt
next prev parent reply other threads:[~2004-02-11 18:18 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-10 17:31 [Patch] dma_sync_to_device Martin Diehl
2004-02-10 18:42 ` David S. Miller
2004-02-10 18:59 ` Martin Diehl
2004-02-11 6:17 ` Deepak Saxena
2004-02-11 6:51 ` Martin Diehl
2004-02-11 16:39 ` Deepak Saxena
2004-02-11 17:51 ` David S. Miller
2004-02-11 18:18 ` Matt Porter [this message]
2004-02-11 18:30 ` David S. Miller
2004-02-11 18:57 ` Deepak Saxena
2004-02-11 19:08 ` David S. Miller
2004-02-12 3:46 ` Deepak Saxena
2004-02-12 3:58 ` David S. Miller
2004-02-13 1:49 ` Jamie Lokier
2004-02-14 7:24 ` David S. Miller
2004-02-11 19:23 ` Matt Porter
2004-02-11 19:30 ` David S. Miller
2004-02-11 18:43 ` linux-2.6.2 Kernel Problem Elikster
2004-02-14 11:51 ` Adrian Bunk
-- strict thread matches above, loose matches on Subject: below --
2004-02-13 14:27 [Patch] dma_sync_to_device James Bottomley
2004-02-14 8:51 ` Martin Diehl
2004-02-14 22:34 ` James Bottomley
2004-02-14 23:18 ` David S. Miller
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=20040211111800.A5618@home.com \
--to=mporter@kernel.crashing.org \
--cc=davem@redhat.com \
--cc=dsaxena@plexity.net \
--cc=linux-kernel@vger.kernel.org \
--cc=lists@mdiehl.de \
/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