[U-Boot] [PATCH] mmc:fsl_esdhc: fix invalidate dcache scope

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 */

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

-----Original Message----- From: York Sun [mailto:york.sun@nxp.com] Sent: Wednesday, April 06, 2016 11:26 PM To: Shengzhou Liu shengzhou.liu@nxp.com; u-boot@lists.denx.de Subject: Re: [PATCH] mmc:fsl_esdhc: fix invalidate dcache scope
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
York, This patch is just a quick hack, I thought root cause is needed to be dug, this issue didn't occur on ARM, just happened on PPC(e.g. T1/T2/T4 platforms). I have no time on this(occupied on ONL), suggest MMC owner continue to investigate it. Shengzhou
participants (3)
-
Shengzhou Liu
-
Shengzhou Liu
-
York Sun