summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehoon Chung <jh80.chung@samsung.com>2016-10-13 10:33:06 +0900
committerJaehoon Chung <jh80.chung@samsung.com>2016-10-28 11:02:16 +0900
commitbe256cbf0456865471ff63dd7579cd6404574c44 (patch)
treeb0787fe7693dda9809fb7d9f78d5daad67f9d93b
parent2051aefe71b646b14220c52e85c42b26be1e7cad (diff)
downloadu-boot-imx-be256cbf0456865471ff63dd7579cd6404574c44.zip
u-boot-imx-be256cbf0456865471ff63dd7579cd6404574c44.tar.gz
u-boot-imx-be256cbf0456865471ff63dd7579cd6404574c44.tar.bz2
mmc: sdhci: fix the "misaligned operation at range" for cache
This pathc is fixed the below thing. If misaligned the cache range, Just flush to CACHLINE_SIZE. "CACHE: Misaligned operation at range [7ae55b00, 7ae55b08]" Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
-rw-r--r--drivers/mmc/sdhci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 837c538..10ff57e 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -242,6 +242,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
sdhci_writel(host, cmd->cmdarg, SDHCI_ARGUMENT);
#ifdef CONFIG_MMC_SDMA
+ trans_bytes = ALIGN(trans_bytes, CONFIG_SYS_CACHELINE_SIZE);
flush_cache(start_addr, trans_bytes);
#endif
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->cmdidx, flags), SDHCI_COMMAND);