aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/imx-sdma.c
diff options
context:
space:
mode:
authorPhilippe Rétornaz <philippe.retornaz@epfl.ch>2012-01-24 08:22:01 -0500
committerVinod Koul <vinod.koul@linux.intel.com>2012-02-02 03:42:47 -0500
commitb63fd6ce71226e5e048e2035ba202b53f89a1825 (patch)
tree73f9f23574e079091f557144d0464b4b2c4bbf95 /drivers/dma/imx-sdma.c
parente7211718b3aa0365a723d9b8192e6f50236a1c67 (diff)
i.MX SDMA: Fix burstsize settings
Commit 6584cb88 (ARM i.MX dma: Fix burstsize settings) fixed the mxcmmc driver but forgot to fix the SDMA driver to handle the correct burtsize. This make the SD card access works again with DMA on i.MX31 boards. Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Tested-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'drivers/dma/imx-sdma.c')
-rw-r--r--drivers/dma/imx-sdma.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index f380e79fd4d1..bf736ad679ca 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -1100,11 +1100,13 @@ static int sdma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
1100 case DMA_SLAVE_CONFIG: 1100 case DMA_SLAVE_CONFIG:
1101 if (dmaengine_cfg->direction == DMA_DEV_TO_MEM) { 1101 if (dmaengine_cfg->direction == DMA_DEV_TO_MEM) {
1102 sdmac->per_address = dmaengine_cfg->src_addr; 1102 sdmac->per_address = dmaengine_cfg->src_addr;
1103 sdmac->watermark_level = dmaengine_cfg->src_maxburst; 1103 sdmac->watermark_level = dmaengine_cfg->src_maxburst *
1104 dmaengine_cfg->src_addr_width;
1104 sdmac->word_size = dmaengine_cfg->src_addr_width; 1105 sdmac->word_size = dmaengine_cfg->src_addr_width;
1105 } else { 1106 } else {
1106 sdmac->per_address = dmaengine_cfg->dst_addr; 1107 sdmac->per_address = dmaengine_cfg->dst_addr;
1107 sdmac->watermark_level = dmaengine_cfg->dst_maxburst; 1108 sdmac->watermark_level = dmaengine_cfg->dst_maxburst *
1109 dmaengine_cfg->dst_addr_width;
1108 sdmac->word_size = dmaengine_cfg->dst_addr_width; 1110 sdmac->word_size = dmaengine_cfg->dst_addr_width;
1109 } 1111 }
1110 sdmac->direction = dmaengine_cfg->direction; 1112 sdmac->direction = dmaengine_cfg->direction;