Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Guennadi Liakhovetski and committed by
Vinod Koul
e9c8d7a0 a5044cdd

+3 -1
+2 -1
drivers/dma/shdma.c
··· 1262 1262 1263 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 1267 if (pdata->slave && pdata->slave_num) 1267 1268 dma_cap_set(DMA_SLAVE, shdev->common.cap_mask); 1268 1269
+1
include/linux/sh_dma.h
··· 70 70 unsigned int needs_tend_set:1; 71 71 unsigned int no_dmars:1; 72 72 unsigned int chclr_present:1; 73 + unsigned int slave_only:1; 73 74 }; 74 75 75 76 /* DMA register */