dmaengine: at_hdmac: add slave config operation
authorNicolas Ferre <nicolas.ferre@atmel.com>
Wed, 14 Mar 2012 11:41:43 +0000 (12:41 +0100)
committerVinod Koul <vinod.koul@linux.intel.com>
Wed, 21 Mar 2012 15:42:29 +0000 (21:12 +0530)
commitbeeaa103eecc7a132682c40867f0ef70655383a5
treec1cc34c65347a04d859eae78076322668d2f636d
parent185ecb5f4fd43911c35956d4cc7d94a1da30417f
dmaengine: at_hdmac: add slave config operation

This patch introduces DMA_SLAVE_CONFIG to at_hdmac Atmel DMA driver.

It is needed to fix a regression in the use of atmel-mci.c driver on Atmel
AT91 platforms brouth by e2b35f3:
"dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes"

We remove some parts of the private structure "at_dma_slave" and use the
information provided by "struct dma_slave_config": source/destination
peripheral registers and access width.

AT_DMA_SLAVE_WIDTH_* values used previously are not needed anymore as we
now use the standard ones. Although some conversion functions are needed to
match register expected values.

Some AT91 sub-architecture specific files are slightly touched by this patch
but it cannot be split because it can break compilation.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
arch/arm/mach-at91/at91sam9g45_devices.c
arch/arm/mach-at91/include/mach/at_hdmac.h
drivers/dma/at_hdmac.c
drivers/dma/at_hdmac_regs.h