Messages in this thread | | | Date | Mon, 19 Mar 2012 14:38:27 +0100 (CET) | From | Guennadi Liakhovetski <> | Subject | Re: [PATCH/RFC] dmaengine: add a slave parameter to __dma_request_channel() |
| |
On Mon, 19 Mar 2012, Vinod Koul wrote:
> On Mon, 2012-03-19 at 12:47 +0100, Guennadi Liakhovetski wrote: > > As I wrote in a reply to Linus W - you need to pass information about the > > requesting client to the dmaengine core to let it match it against mapping > > tables. > NO. > The client only needs to say that he needs a channel for DMA_SLAVE
How?
dma_request_channel(mask, filter_fn, filter_arg)
Where shall the client pass to dmaengine its identity info?
> DMAengine will know for this client, the platform channel map (already > given to it by platform) says that we can give it DMAC X, channel 4 > only.
Some clients need multiple channels - Tx, Rx,...
Thanks Guennadi
> So see if it free, if so allocate it and give to client (while > doing usual stuff) > > You have to pass this information with the dma_request_channel() > > function. So, either you need to add a parameter or you have to reuse one > > of existing ones, e.g., deprecate the filter and use its argument for this > > purpose. If you do this and as long as you pass that parameter further on > > to the dmaengine device (controller) driver after whatever matching you > > like to do in the core - I'm fine with that, that fits well with my > > initial proposal. > I don't care about filter, it can go away if it is not required. > > Passing slave_config is *enhancement* so for (hopefully) last time > a) it has *nothing* to do with getting a channel, no role to play in > generic scheme of things > b) it allows client to call one api for get+configure thats all! > > -- > ~Vinod >
--- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/
| |