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

York Sun york.sun at nxp.com
Wed Apr 6 17:26:20 CEST 2016


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 at 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



More information about the U-Boot mailing list