mmc:fsl_esdhc: fix invalidate dcache scope
PATCH 1/1 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.
--- drivers/mmc/fsl_esdhc.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/mmc/fsl_esdhc.c +2 -0
@@ -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 */
Signature · 1 line
2.1.0.27.g96db324
PATCH 1/1 mmc:fsl_esdhc: fix invalidate dcache scope
Quoted 15 lines · Shengzhou Liu
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 conditionCONFIG_ARM.Signed-off-by Shengzhou Liu <[email protected]>--- drivers/mmc/fsl_esdhc.c | 2 ++ 1 file changed, 2 insertions(+)drivers/mmc/fsl_esdhc.c +0
-0
drivers/mmc/fsl_esdhc.c esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) · line 357
Quoted 10 lines
drivers/mmc/fsl_esdhc.c +2
-0@@ -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
PATCH 1/1 mmc:fsl_esdhc: fix invalidate dcache scope
Quoted 12 lines
-----Original Message-----
From: York Sun [mailto:york.sun at nxp.com]
Sent: Wednesday, April 06, 2016 11:26 PM
To: Shengzhou Liu <[email protected]>; u-boot at lists.denx.de
Subject: Re: [PATCH] mmc:fsl_esdhc: fix invalidate dcache scopeQuoted 1 line
Shenghzou,
This is not a correct fix. This issue is related to
Quoted 8 lines
http://lists.denx.de/pipermail/u-boot/2015-December/236272.html
http://lists.denx.de/pipermail/u-boot/2016-March/249377.htmlIn short, the
invalidate_dcache_rangefunction 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