summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2017-11-14 06:03:33 +0100
committerVinod Koul <vinod.koul@intel.com>2017-11-14 06:03:33 +0100
commit2c8528592c3280c3e2dc85a804120ca64137de32 (patch)
tree1deb4302d5ccf10452b1c480690927813e5e9ced /drivers/dma
parentMerge branch 'topic/renasas' into for-linus (diff)
parentdmaengine: sa11x0: add DMA filters (diff)
downloadlinux-2c8528592c3280c3e2dc85a804120ca64137de32.tar.xz
linux-2c8528592c3280c3e2dc85a804120ca64137de32.zip
Merge branch 'topic/sa11x0' into for-linus
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/sa11x0-dma.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/dma/sa11x0-dma.c b/drivers/dma/sa11x0-dma.c
index 1adeb3265085..c7a89c22890e 100644
--- a/drivers/dma/sa11x0-dma.c
+++ b/drivers/dma/sa11x0-dma.c
@@ -823,6 +823,13 @@ static const struct sa11x0_dma_channel_desc chan_desc[] = {
CD(Ser4SSPRc, DDAR_RW),
};
+static const struct dma_slave_map sa11x0_dma_map[] = {
+ { "sa11x0-ir", "tx", "Ser2ICPTr" },
+ { "sa11x0-ir", "rx", "Ser2ICPRc" },
+ { "sa11x0-ssp", "tx", "Ser4SSPTr" },
+ { "sa11x0-ssp", "rx", "Ser4SSPRc" },
+};
+
static int sa11x0_dma_init_dmadev(struct dma_device *dmadev,
struct device *dev)
{
@@ -909,6 +916,10 @@ static int sa11x0_dma_probe(struct platform_device *pdev)
spin_lock_init(&d->lock);
INIT_LIST_HEAD(&d->chan_pending);
+ d->slave.filter.fn = sa11x0_dma_filter_fn;
+ d->slave.filter.mapcnt = ARRAY_SIZE(sa11x0_dma_map);
+ d->slave.filter.map = sa11x0_dma_map;
+
d->base = ioremap(res->start, resource_size(res));
if (!d->base) {
ret = -ENOMEM;