On Tue, Mar 17, 2009 at 7:01 PM, Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote: > On Tue, 17 Mar 2009 18:23:46 -0700, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: >> Or, just use some platform_data to identify the channel in the same >> manner as atmel-mci? > > Yes, I still want to control chan->chan_id. > > 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. > 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. [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/avr32/mach-at32ap/at32ap700x.c;h=3fbfd1e32a9ee79af4f4545d95a9543b9070d189;hb=HEAD#l1327