summaryrefslogtreecommitdiff
path: root/arch/arm/plat-samsung/dma-ops.c
diff options
context:
space:
mode:
authorTomasz Figa <tomasz.figa@gmail.com>2013-10-16 19:10:54 (GMT)
committerMark Brown <broonie@linaro.org>2013-11-24 14:38:24 (GMT)
commit1db0287ab186637488e51ae43109692624f2d5a3 (patch)
tree13a3fa95b54b8f9b1e56125a5d369cd3d9fb37c5 /arch/arm/plat-samsung/dma-ops.c
parent1b49f10c69b45a8b169c69eaa127e7f91a32f7c7 (diff)
downloadlinux-1db0287ab186637488e51ae43109692624f2d5a3.tar.xz
ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver
This patch adds all required platform-specific data and initialization code to support the generic amba-pl08x driver on S3C64xx SoCs. Also some compatibility definitions are added to make the transition from legacy API to DMA engine easier. The biggest hack here is passing const char * pointers through DMA resource, casted to unsigned long, but this is how Samsung DMA wrappers (used to support both s3c-dma and DMA engine in drivers) are designed. Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'arch/arm/plat-samsung/dma-ops.c')
-rw-r--r--arch/arm/plat-samsung/dma-ops.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/plat-samsung/dma-ops.c b/arch/arm/plat-samsung/dma-ops.c
index ec0d731..886326e 100644
--- a/arch/arm/plat-samsung/dma-ops.c
+++ b/arch/arm/plat-samsung/dma-ops.c
@@ -18,6 +18,12 @@
#include <mach/dma.h>
+#if defined(CONFIG_PL330_DMA)
+#define dma_filter pl330_filter
+#elif defined(CONFIG_S3C64XX_PL080)
+#define dma_filter pl08x_filter_id
+#endif
+
static unsigned samsung_dmadev_request(enum dma_ch dma_ch,
struct samsung_dma_req *param,
struct device *dev, char *ch_name)
@@ -30,7 +36,7 @@ static unsigned samsung_dmadev_request(enum dma_ch dma_ch,
if (dev->of_node)
return (unsigned)dma_request_slave_channel(dev, ch_name);
else
- return (unsigned)dma_request_channel(mask, pl330_filter,
+ return (unsigned)dma_request_channel(mask, dma_filter,
(void *)dma_ch);
}