No need to flush cache for command without data.

Signed-off-by: Kevin Liu <kevin...@asrmicro.com>
---
 drivers/mmc/sdhci.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 93cefd8..c94d58d 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -242,8 +242,10 @@ static int sdhci_send_command(struct mmc *mmc, struct 
mmc_cmd *cmd,
 
        sdhci_writel(host, cmd->cmdarg, SDHCI_ARGUMENT);
 #ifdef CONFIG_MMC_SDHCI_SDMA
-       trans_bytes = ALIGN(trans_bytes, CONFIG_SYS_CACHELINE_SIZE);
-       flush_cache(start_addr, trans_bytes);
+       if (data != 0) {
+               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);
        start = get_timer(0);
-- 
1.9.1


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to