提交 54899fc8 编写于 作者: E Eric Nelson 提交者: Stefano Babic

fsl_esdhc: flush cache after IO completion

The cache should invalidate the read buffer for
the SD card interface after the transfer complete,
not command-complete.
Tested-by: NAndrew Gabbasov <Andrew_Gabbasov@mentor.com>
Signed-off-by: NEric Nelson <eric.nelson@boundarydevices.com>
上级 0f1411bc
......@@ -327,9 +327,6 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
while (!(esdhc_read32(&regs->irqstat) & (IRQSTAT_CC | IRQSTAT_CTOE)))
;
if (data && (data->flags & MMC_DATA_READ))
check_and_invalidate_dcache_range(cmd, data);
irqstat = esdhc_read32(&regs->irqstat);
esdhc_write32(&regs->irqstat, irqstat);
......@@ -403,6 +400,8 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
} while (!(irqstat & IRQSTAT_TC) &&
(esdhc_read32(&regs->prsstat) & PRSSTAT_DLA));
#endif
if (data->flags & MMC_DATA_READ)
check_and_invalidate_dcache_range(cmd, data);
}
esdhc_write32(&regs->irqstat, -1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册