* Generic DMA Core
@ 2004-03-31 17:44 John Whitney
2004-04-01 2:56 ` Benjamin Herrenschmidt
2004-04-01 7:01 ` Adrian Cox
0 siblings, 2 replies; 3+ messages in thread
From: John Whitney @ 2004-03-31 17:44 UTC (permalink / raw)
To: linuxppc-dev
I have written a generic DMA core driver (drivers/dma/) that accepts
registrations from low-level DMA hardware drivers (providers). I've
also written a provider driver for the MPC10x dual-channel DMA
controller.
Effectively, the DMA core accepts requests to transfer data from one
address to another, with the ability to request things like
source-address-holding, destination-address-holding, etc. It then
matches a request to a provider that can support it, and queues the
request to the provider. After completion, the DMA core calls a
provided callback for the client. The core also handles
cache-coherency with explicit flushes and invalidates, not making
assumptions that the addresses are in cache-coherent regions.
Is there any interest in this code, and if so, what would be the best
way for going about getting it included in the kernel?
John
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Generic DMA Core
2004-03-31 17:44 Generic DMA Core John Whitney
@ 2004-04-01 2:56 ` Benjamin Herrenschmidt
2004-04-01 7:01 ` Adrian Cox
1 sibling, 0 replies; 3+ messages in thread
From: Benjamin Herrenschmidt @ 2004-04-01 2:56 UTC (permalink / raw)
To: John Whitney; +Cc: linuxppc-dev list
> Is there any interest in this code, and if so, what would be the best
> way for going about getting it included in the kernel?
If it's really generic, post the code to the linux-kernel mailing
list.
Ben.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Generic DMA Core
2004-03-31 17:44 Generic DMA Core John Whitney
2004-04-01 2:56 ` Benjamin Herrenschmidt
@ 2004-04-01 7:01 ` Adrian Cox
1 sibling, 0 replies; 3+ messages in thread
From: Adrian Cox @ 2004-04-01 7:01 UTC (permalink / raw)
To: John Whitney; +Cc: linuxppc-dev
On Wed, 2004-03-31 at 18:44, John Whitney wrote:
> I have written a generic DMA core driver (drivers/dma/) that accepts
> registrations from low-level DMA hardware drivers (providers). I've
> also written a provider driver for the MPC10x dual-channel DMA
> controller.
> [...]
> Is there any interest in this code, and if so, what would be the best
> way for going about getting it included in the kernel?
I'd be interested in seeing it. I experimented with something similar
for Linux 2.4.
As for getting into the kernel, the main problem I see is that currently
nothing else uses it. You may need to do a couple of things: write a
dummy provider for machines without DMA engines, and use it to
accelerate an existing process.
The main use of these DMA engines is to transfer data to PCI cards which
lack built-in DMA. So you probably need to find some examples and modify
them to use your API.
- Adrian Cox
http://www.humboldt.co.uk/
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-04-01 7:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-31 17:44 Generic DMA Core John Whitney
2004-04-01 2:56 ` Benjamin Herrenschmidt
2004-04-01 7:01 ` Adrian Cox
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).