aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2018-03-16 10:06:19 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2018-03-16 10:06:19 +0100
commitf09a7931bcbc29a188d24c8b8f9523587c428204 (patch)
tree396b3686613b49aab9ddf8eb5b426ae95740aa8b
parentMerge branch 'fixes' into next (diff)
parentmmc: dw_mmc: fix falling from idmac to PIO mode when dw_mci_reset occurs (diff)
downloadlinux-dev-f09a7931bcbc29a188d24c8b8f9523587c428204.tar.xz
linux-dev-f09a7931bcbc29a188d24c8b8f9523587c428204.zip
Merge branch 'fixes' into next
-rw-r--r--drivers/mmc/host/dw_mmc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index e7de83805e60..29a1afa81f66 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -540,6 +540,7 @@ static int dw_mci_idmac_init(struct dw_mci *host)
(sizeof(struct idmac_desc_64addr) *
(i + 1))) >> 32;
/* Initialize reserved and buffer size fields to "0" */
+ p->des0 = 0;
p->des1 = 0;
p->des2 = 0;
p->des3 = 0;
@@ -562,6 +563,7 @@ static int dw_mci_idmac_init(struct dw_mci *host)
i++, p++) {
p->des3 = cpu_to_le32(host->sg_dma +
(sizeof(struct idmac_desc) * (i + 1)));
+ p->des0 = 0;
p->des1 = 0;
}
@@ -1777,8 +1779,8 @@ static bool dw_mci_reset(struct dw_mci *host)
}
if (host->use_dma == TRANS_MODE_IDMAC)
- /* It is also recommended that we reset and reprogram idmac */
- dw_mci_idmac_reset(host);
+ /* It is also required that we reinit idmac */
+ dw_mci_idmac_init(host);
ret = true;