mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 14:10:43 +00:00
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: Andrew Gabbasov <Andrew_Gabbasov@mentor.com> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
This commit is contained in:
parent
0f1411bc8d
commit
54899fc8fe
1 changed files with 2 additions and 3 deletions
|
@ -327,9 +327,6 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
|
|||
while (!(esdhc_read32(®s->irqstat) & (IRQSTAT_CC | IRQSTAT_CTOE)))
|
||||
;
|
||||
|
||||
if (data && (data->flags & MMC_DATA_READ))
|
||||
check_and_invalidate_dcache_range(cmd, data);
|
||||
|
||||
irqstat = esdhc_read32(®s->irqstat);
|
||||
esdhc_write32(®s->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(®s->prsstat) & PRSSTAT_DLA));
|
||||
#endif
|
||||
if (data->flags & MMC_DATA_READ)
|
||||
check_and_invalidate_dcache_range(cmd, data);
|
||||
}
|
||||
|
||||
esdhc_write32(®s->irqstat, -1);
|
||||
|
|
Loading…
Reference in a new issue