summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorDaniel Drake <drake@endlessm.com>2019-03-26 08:04:15 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2019-04-15 11:55:54 +0200
commite5a34b0c1071e6b6b6cfca4c6887c39cd403dd77 (patch)
treeed4df9ab8f480a02e47c68aca968e557c0169df0 /drivers/mmc
parentmmc: sdhci-of-arasan: Add DTS property to disable DCMDs. (diff)
downloadlinux-e5a34b0c1071e6b6b6cfca4c6887c39cd403dd77.tar.xz
linux-e5a34b0c1071e6b6b6cfca4c6887c39cd403dd77.zip
mmc: alcor: enable DMA for writes
Enable the DMA codepath for writes as well as reads. This improves write speed from 1mb/sec to 2mb/sec (tested with dd). The original ampe_stor vendor driver also uses DMA for writes. Signed-off-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/alcor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/host/alcor.c b/drivers/mmc/host/alcor.c
index 7c8f203f9a24..3e2efbf3cf8c 100644
--- a/drivers/mmc/host/alcor.c
+++ b/drivers/mmc/host/alcor.c
@@ -771,7 +771,8 @@ static void alcor_pre_req(struct mmc_host *mmc,
data->host_cookie = COOKIE_UNMAPPED;
/* FIXME: looks like the DMA engine works only with CMD18 */
- if (cmd->opcode != 18)
+ if (cmd->opcode != MMC_READ_MULTIPLE_BLOCK
+ && cmd->opcode != MMC_WRITE_MULTIPLE_BLOCK)
return;
/*
* We don't do DMA on "complex" transfers, i.e. with