On Wed, 18 Mar 2009 10:26:13 -0700, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > 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 [1]. > > > 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. --- Atsushi Nemoto