summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-07-04 17:17:14 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-07-05 09:32:19 +0200
commit26daaaa7302e790fdd5cc4a012c384925396da46 (patch)
treec86bba5283edc3258099fde4fa212b629b41fa09
parentfa8aa1771027718747e76bc3e3008c1840cf3b19 (diff)
downloadbarebox-26daaaa7302e790fdd5cc4a012c384925396da46.tar.gz
barebox-26daaaa7302e790fdd5cc4a012c384925396da46.tar.xz
MCI imx-esdhc: Fix cache flush/inval for multi block support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/mci/imx-esdhc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c
index 29371567be..7595a9323c 100644
--- a/drivers/mci/imx-esdhc.c
+++ b/drivers/mci/imx-esdhc.c
@@ -257,10 +257,10 @@ esdhc_send_cmd(struct mci_host *mci, struct mci_cmd *cmd, struct mci_data *data)
return err;
if (data->flags & MMC_DATA_WRITE) {
dma_flush_range((unsigned long)data->src,
- (unsigned long)(data->src + 512));
+ (unsigned long)(data->src + data->blocks * 512));
} else
dma_clean_range((unsigned long)data->src,
- (unsigned long)(data->src + 512));
+ (unsigned long)(data->src + data->blocks * 512));
}
@@ -317,7 +317,7 @@ esdhc_send_cmd(struct mci_host *mci, struct mci_cmd *cmd, struct mci_data *data)
if (data->flags & MMC_DATA_READ) {
dma_inv_range((unsigned long)data->dest,
- (unsigned long)(data->dest + 512));
+ (unsigned long)(data->dest + data->blocks * 512));
}
#endif
}