lkml.org 
[lkml]   [2012]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH/RFC] dmaengine: add a slave parameter to __dma_request_channel()
From
On Fri, Mar 30, 2012 at 12:38 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:

> Actually, I think that's the key thing: the handshake lines should be
> the data involved in channel selection and nothing else - though as I've
> pointed out already, there's the complication for external MUXing between
> the DMA engine and the peripheral which makes that non-trivial.

I think you're onto something here, and it sounds it could be made
elegant to me.

As for muxed request signals, we would need to hook in some
cascading framework if we want it all generic.

On the Nomadik 8815 (which I now have up and running)
the system has two PL080 instances, each with 16 channels.
However the same request lines are *partly* routed to *both*
PL080 instances. This would be one of the things we could
solve with a line-oriented approach, say we have this set
of DMA lines, and then defined a group of lines per
DMAC instance, then by stating that this device has this
request line we can infer the suitable DMA slave engines
and select one with a free channel to run the transfer.

It does require some upfront code, but I'm sure it can be
made to work.

Yours,
Linus Walleij


\
 
 \ /
  Last update: 2012-04-03 22:47    [from the cache]
©2003-2011 Jasper Spaans