]> git.sur5r.net Git - u-boot/blobdiff - drivers/mmc/sdhci.c
mmc: sdhci: only flush cache for data command
[u-boot] / drivers / mmc / sdhci.c
index 93cefd89cd4bd96bfd0f3bafaca43c34d5be494f..c94d58db65c70ee8b32cd64e79ebd1b8f44dc262 100644 (file)
@@ -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);