On Wed, 18 Mar 2009 10:26:13 -0700, Dan Williams <firstname.lastname@example.org>
> > The atmel-mci does not select "channel". It just pick the first
> > usable channel of the dma_device specified by platform_data. I
> > suppose dw_dmac is symmetric (it can use any channel for any slave).
> You are right, it does not hardwire the channel, but it does hardwire
> the device, see at32_add_device_mci .
> > But TXx9 SoC DMAC channels are hardwired to each peripheral devices.
> I think creating a dma_device instance per channel and specifying that
> device like atmel-mci is the more future-proof way to go.
Well, I have considered it but it looks overkill for me at that time.
Maybe time to think again...
> > And I want to call Channel-3 of DMAC-0 "dma0chan3" even if Channel-2
> > was assigned to for public memcpy channel.
> The problem is you could pass in the chan_id to guarantee 'chan3', but
> there is no guarantee that you will get 'dma0', as the driver has no
> knowledge of what other dma devices may be in the system.
Yes, I do not expect 'dma0'. My filter function uses
dev_name(chan->device->dev), which is "txx9dmac.0" in this case.
Anyway, "one dma-device per channel" manner will make things much simpler.