aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;