Skip to content
Snippets Groups Projects
Commit 54899fc8 authored by Eric Nelson's avatar Eric Nelson Committed by Stefano Babic
Browse files

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: default avatarAndrew Gabbasov <Andrew_Gabbasov@mentor.com>
Signed-off-by: default avatarEric Nelson <eric.nelson@boundarydevices.com>
parent 0f1411bc
No related branches found
No related tags found
No related merge requests found
...@@ -327,9 +327,6 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) ...@@ -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))) 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); irqstat = esdhc_read32(&regs->irqstat);
esdhc_write32(&regs->irqstat, irqstat); esdhc_write32(&regs->irqstat, irqstat);
...@@ -403,6 +400,8 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) ...@@ -403,6 +400,8 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
} while (!(irqstat & IRQSTAT_TC) && } while (!(irqstat & IRQSTAT_TC) &&
(esdhc_read32(&regs->prsstat) & PRSSTAT_DLA)); (esdhc_read32(&regs->prsstat) & PRSSTAT_DLA));
#endif #endif
if (data->flags & MMC_DATA_READ)
check_and_invalidate_dcache_range(cmd, data);
} }
esdhc_write32(&regs->irqstat, -1); esdhc_write32(&regs->irqstat, -1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment