dmaengine: at_hdmac: add DMA slave transfers
authorNicolas Ferre <nicolas.ferre@atmel.com>
Wed, 22 Jul 2009 18:04:45 +0000 (20:04 +0200)
committerDan Williams <dan.j.williams@intel.com>
Thu, 23 Jul 2009 06:15:33 +0000 (23:15 -0700)
commit808347f6a31792079e345ec865e9cfcb6e8ae6b2
tree05fe2e32712d84ec5dc7553033432712313f6ba2
parentdc78baa2b90b289590911b40b6800f77d0dc935a
dmaengine: at_hdmac: add DMA slave transfers

This patch for at_hdmac adds the slave transfers capability to the Atmel DMA
controller available on some AT91 SOCs. This allow peripheral to memory and
memory to peripheral transfers with hardware handshaking.

Slave structure for controller specific information is passed through channel
private data. This at_dma_slave structure is defined in at_hdmac.h header file
and relative hardware definition are moved to this file from at_hdmac_regs.h.
Doing this we allow the channel configuration from platform definition code.

This work is intensively based on dw_dmac and several slave implementations.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
arch/arm/mach-at91/include/mach/at_hdmac.h
drivers/dma/at_hdmac.c
drivers/dma/at_hdmac_regs.h