Re: [PATCH/RFC 0/4] dmaengine: add DT support for DMA multiplexers
From: Guennadi Liakhovetski
Date: Thu May 02 2013 - 16:46:32 EST
On Thu, 2 May 2013, Vinod Koul wrote:
> On Tue, Apr 30, 2013 at 02:17:13PM +0200, Guennadi Liakhovetski wrote:
> > (added Russell to CC, sorry for not including initially)
> >
> > Hi Vinod
> >
> > On Tue, 30 Apr 2013, Vinod Koul wrote:
> >
> > > On Tue, Apr 30, 2013 at 09:11:19AM +0200, Guennadi Liakhovetski wrote:
> > > > Previously an issue has been discussed, arising on sh-/r-mobile ARM-based
> > > > systems. There we typically have multiple DMA controller instances with
> > > > exactly equal or very similar capabilities. Each of them can serve the same
> > > > slaves, using the same slave identifiers (request line IDs). With the
> > > > present DMA DT implementation _each_ such DMA slave would have to reference
> > > > _each_ of those DMA controllers in its DMA bindings, e.g.
> > > But why... if that is the case then we havent define DT-bindings clearly enough
> >
> > Sorry, what do you mean "why?" Why each slave has to reference each DMA
> > controller? We have discussed this A LOT before... My understanding is,
> > that we decided, that the sh-/r-mobile case of multiple equal DMA
> > controllers is an exception and that we don't want to punish everyone for
> > it. So, the design includes only explicit requesting of specific DMA
> > request lines on specific DMA controllers, no wild-cards. If a slave DMA
> > channel can be provided by several DMA controllers we decided to list them
> > all explicitly too. And for the sh-/r-mobile case a DMA-mux DT node has
> > been proposed. This is exactly what this patch series is implementing. Is
> > my understanding wrong?
> >
> > > And we havent merged that yet, so why not fix that in first set itself
> >
> > Sorry, don't understand. The series isn't merged yet, that's right. That's
> > why I explicitly mention this dependency here. But this isn't a fix. This
> > is a new feature. The first patch-series only touches a specific DMA
> > controller driver and relevant platforms. No core changes, so, it's not
> > that intrusive and can be applied quickly. Whereas this series affects the
> > core and might need a more careful consideration, discussion, etc.
> What i mean from above is if we were already defining the sh-DT binding then why
> wasnt this taken care in the orignal definition?
>
> It would make sense to have proper binding which works well for both of these
> case, why a two shot approach?
In the first patch-series we implement DT support in shdma according to
the existing API and add DT nodes to a platform. This is already a
functioning implementation. The second patch-set is a new feature. It adds
a new API - a DMA multiplexer and implementation examples. This way we can
clearly show how the new API shall be used - what _changes_ are required
to existing DMA DT implementations to support it. I think it makes sense
to do this in two steps.
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/