
On 04/06/2016 03:22 AM, Shengzhou Liu wrote:
commit 4683b220655 "mmc:fsl_esdhc invalidate dcache before read" intended for ARM, which broke on PowerPC(caused memory allocation failure under SD boot), so add condition CONFIG_ARM.
Signed-off-by: Shengzhou Liu Shengzhou.Liu@nxp.com
drivers/mmc/fsl_esdhc.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index 7cc61a0..7812e6c 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -348,8 +348,10 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) if(err) return err;
+#ifdef CONFIG_ARM if (data->flags & MMC_DATA_READ) check_and_invalidate_dcache_range(cmd, data); +#endif }
/* Figure out the transfer arguments */
Shenghzou,
This is not a correct fix. This issue is related to
http://lists.denx.de/pipermail/u-boot/2015-December/236272.html http://lists.denx.de/pipermail/u-boot/2016-March/249377.html
In short, the invalidate_dcache_range function was added for 512x/5xxx/83xx/85xx. Although it shouldn't do any harm, it actually does. I haven't got a chance to investigate. Please look into it if you can.
York