|
|
|
@ -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); |
|
|
|
|
|
|
|
|
@ -400,9 +397,10 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) |
|
|
|
|
|
|
|
|
|
if (irqstat & DATA_ERR) |
|
|
|
|
return COMM_ERR; |
|
|
|
|
} while (!(irqstat & IRQSTAT_TC) && |
|
|
|
|
(esdhc_read32(®s->prsstat) & PRSSTAT_DLA)); |
|
|
|
|
} while ((irqstat & DATA_COMPLETE) != DATA_COMPLETE); |
|
|
|
|
#endif |
|
|
|
|
if (data->flags & MMC_DATA_READ) |
|
|
|
|
check_and_invalidate_dcache_range(cmd, data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
esdhc_write32(®s->irqstat, -1); |
|
|
|
|