diff options
| author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2012-01-18 04:14:25 -0500 |
|---|---|---|
| committer | Vinod Koul <vinod.koul@linux.intel.com> | 2012-02-01 11:53:53 -0500 |
| commit | e9c8d7a03e69093e4c33c5056a45c1233a42e8a4 (patch) | |
| tree | b9a37c891db8e273bf9ff177d4be00ec5050393a | |
| parent | a5044cddad2fba36c725a019a6cd0e3f286b13d0 (diff) | |
dma: sh_dma: not all SH DMAC implementations support MEMCPY
Add a flag to allow platforms to specify, whether a DMAC instance supports
the MEMCPY operation. To avoid regressions, preserve the current default.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
| -rw-r--r-- | drivers/dma/shdma.c | 3 | ||||
| -rw-r--r-- | include/linux/sh_dma.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index 54043cd831c8..812fd76e9c18 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c | |||
| @@ -1262,7 +1262,8 @@ static int __init sh_dmae_probe(struct platform_device *pdev) | |||
| 1262 | 1262 | ||
| 1263 | INIT_LIST_HEAD(&shdev->common.channels); | 1263 | INIT_LIST_HEAD(&shdev->common.channels); |
| 1264 | 1264 | ||
| 1265 | dma_cap_set(DMA_MEMCPY, shdev->common.cap_mask); | 1265 | if (!pdata->slave_only) |
| 1266 | dma_cap_set(DMA_MEMCPY, shdev->common.cap_mask); | ||
| 1266 | if (pdata->slave && pdata->slave_num) | 1267 | if (pdata->slave && pdata->slave_num) |
| 1267 | dma_cap_set(DMA_SLAVE, shdev->common.cap_mask); | 1268 | dma_cap_set(DMA_SLAVE, shdev->common.cap_mask); |
| 1268 | 1269 | ||
diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h index 8cd7fe59cf1a..425450b980b8 100644 --- a/include/linux/sh_dma.h +++ b/include/linux/sh_dma.h | |||
| @@ -70,6 +70,7 @@ struct sh_dmae_pdata { | |||
| 70 | unsigned int needs_tend_set:1; | 70 | unsigned int needs_tend_set:1; |
| 71 | unsigned int no_dmars:1; | 71 | unsigned int no_dmars:1; |
| 72 | unsigned int chclr_present:1; | 72 | unsigned int chclr_present:1; |
| 73 | unsigned int slave_only:1; | ||
| 73 | }; | 74 | }; |
| 74 | 75 | ||
| 75 | /* DMA register */ | 76 | /* DMA register */ |
