Browse Source

mmc: sh_mmcif: Configure DMA slave bus width

The data register is 4 bytes wide, hardcode the DMA transfer size to
4 bytes in both directions.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Laurent Pinchart 11 years ago
parent
commit
e36152aa84
1 changed files with 5 additions and 2 deletions
  1. 5 2
      drivers/mmc/host/sh_mmcif.c

+ 5 - 2
drivers/mmc/host/sh_mmcif.c

@@ -418,10 +418,13 @@ sh_mmcif_request_dma_one(struct sh_mmcif_host *host,
 	cfg.slave_id = slave_id;
 	cfg.slave_id = slave_id;
 	cfg.direction = direction;
 	cfg.direction = direction;
 
 
-	if (direction == DMA_DEV_TO_MEM)
+	if (direction == DMA_DEV_TO_MEM) {
 		cfg.src_addr = res->start + MMCIF_CE_DATA;
 		cfg.src_addr = res->start + MMCIF_CE_DATA;
-	else
+		cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
+	} else {
 		cfg.dst_addr = res->start + MMCIF_CE_DATA;
 		cfg.dst_addr = res->start + MMCIF_CE_DATA;
+		cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
+	}
 
 
 	ret = dmaengine_slave_config(chan, &cfg);
 	ret = dmaengine_slave_config(chan, &cfg);
 	if (ret < 0) {
 	if (ret < 0) {