summaryrefslogtreecommitdiff
path: root/drivers/mmc/mxsmmc.c
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2012-09-21 14:53:13 -0700
committerTom Rini <trini@ti.com>2012-09-21 14:53:13 -0700
commit495dbd72dd1172de866ba323263a5b62cf454972 (patch)
tree3ecfb8ae44c871055115941890fd93f175f8761d /drivers/mmc/mxsmmc.c
parent50d924b45911b24eeb7623bed11b9297d99b840a (diff)
parentd193c1b6eb05041c94ad9aacd8c94189d1dbc5f8 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'drivers/mmc/mxsmmc.c')
-rw-r--r--drivers/mmc/mxsmmc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/mxsmmc.c b/drivers/mmc/mxsmmc.c
index 9a98c6b85b..c80b41b192 100644
--- a/drivers/mmc/mxsmmc.c
+++ b/drivers/mmc/mxsmmc.c
@@ -119,6 +119,10 @@ static int mxsmmc_send_cmd_dma(struct mxsmmc_priv *priv, struct mmc_data *data)
(uint32_t)(priv->desc->cmd.address + cache_data_count));
}
+ /* Invalidate the area, so no writeback into the RAM races with DMA */
+ invalidate_dcache_range((uint32_t)priv->desc->cmd.address,
+ (uint32_t)(priv->desc->cmd.address + cache_data_count));
+
priv->desc->cmd.data |= MXS_DMA_DESC_IRQ | MXS_DMA_DESC_DEC_SEM |
(data_count << MXS_DMA_DESC_BYTES_OFFSET);