lkml.org 
[lkml]   [2012]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH/RFC] dmaengine: add a slave parameter to __dma_request_channel()
On Tue, 3 Apr 2012, Linus Walleij wrote:

> 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.

Now, how do we proceed from here? Do I understand it right, that Russell
would like to implement his ideas? Any idea when this is likely to happen?
If not too soon, maybe we could / should work out an intermediate
solution? How about, for example: I resubmit my patch, but don't claim it
for general use, rather keep it sh-own (even though the generic part will
have no hardware-specific code in it). Then we can implement both sh
driver on top of that. Of course, the dubious use of the struct
dma_chan::private field will remain. But it is there now anyway, so, this
will not introduce any new uses of .private or extend the existing one.
And once we have a generic way to request specific DMA channels, we'll
switch the shdma driver(s) to it too.

Thanks
Guennadi

>
> 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
>

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

\
 
 \ /
  Last update: 2012-04-12 23:35    [W:0.716 / U:0.024 seconds]
©2003-2014 Jasper Spaans. hosted at Digital Ocean