dmaengine: s3c24xx: Add dma_slave_map for s3c2440 devices
authorSam Van Den Berge <sam.van.den.berge@telenet.be>
Thu, 22 Sep 2016 18:51:15 +0000 (20:51 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 26 Sep 2016 17:43:04 +0000 (23:13 +0530)
commit34681d84a0f7cc22ded1413dc79eef8a2f23d9c3
tree2813bf63617076fafc4e988d1b85a427986a8d85
parent360af35b08da9def3be8b67398f4e0f90c292e37
dmaengine: s3c24xx: Add dma_slave_map for s3c2440 devices

This patch updates the s3c24xx dma driver to be able to pass a
dma_slave_map array via the platform data. This is needed to
be able to use the new, simpler dmaengine API [1].
I used the virtual DMA channels as a parameter for the dma_filter
function. By doing that, I could reuse the existing filter function in
drivers/dma/s3c24xx-dma.c.

I have tested this on my mini2440 board with the audio driver.
According to my observations, dma_request_slave_channel in the
function dmaengine_pcm_new in the file
sound/soc/soc-generic-dmaengine-pcm.c now returns a valid DMA channel
whereas before no DMA channel was returned at that point.

Entries for DMACH_XD0, DMACH_XD1 and DMACH_TIMER are missing because I
don't realy know which driver to use for these.

[1]
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-December/393635.html

Signed-off-by: Sam Van Den Berge <sam.van.den.berge@telenet.be>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
arch/arm/mach-s3c24xx/common.c
drivers/dma/s3c24xx-dma.c
include/linux/platform_data/dma-s3c24xx.h