Re: [PATCH/RFC] dmaengine: add a slave parameter to __dma_request_channel()

From: Guennadi Liakhovetski
Date: Fri Mar 16 2012 - 05:36:59 EST


On Mon, 12 Mar 2012, Vinod Koul wrote:

> On Fri, 2012-03-09 at 13:20 +0100, Guennadi Liakhovetski wrote:
> > It can be made to work as long as there's only one DMAC group with
> > configurable channels and all other DMACs are dedicated to specific
> > peripherals, yes. I don't know whether there are already now or are
> > approaching any platforms with multiple reconfigurable groups.
> And that is what I am talking about.
>
> Having specific channel mapping given by platform for all channels which
> are to be used dedicated. And a pool of channels which can be used by
> anyone (if they can be) on a platform.
>
> Does this proposal sound good for others as well. I think we can target
> this for next merge cycle, we are too late for the current one.

Ok, let me try to summarise, what this would mean for sh-mobile:

1. this proposal introduces a new special case: with or without a mapping,
that will have to be handled in affected client and DMA controller
drivers. E.g., on sh-mobile some devices might on some systems use
channels from "general purpose" DMA controllers (no mapping), on other
systems it will be a dedicated controller (fixed mapping).

2. this will break, if we get more than 1 "general purpose" type with
different supported client sets. So, we develop a new API with a
pre-programmed limitation.

3. this will mean a substantial driver and platform code modification.
Nothing super-complex, but still some.

4. we'll need a 3-stage channel allocation / configuration: request,
filter, config. Whereas with my configuration-parameter proposal it's just
one stage: allocate-and-configure.

So, yes, this would be doable, but it doesn't look like a very good
solution to me.

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/