[PATCH v1] mmc: fsl_esdhc_imx: fix watermark level in dma

Jaehoon Chung jh80.chung at samsung.com
Wed Feb 9 00:37:56 CET 2022


On 2/1/22 07:08, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> 
> Seems that we need the waterlevel setting not only for PIO mode as
> without this at least the i.MX 8M Mini won't boot anymore when being
> written by such a U-Boot. Corruption has also been observed both on
> the i.MX 6 as well as i.MX 8M Mini when using ums on the eMMC. Fix
> this by setting the watermark level again regardless of whether in
> DMA or PIO mode.
> 
> Fixes: 41c6a22fc296 ("mmc: fsl_esdhc_imx: simplify esdhc_setup_data()")
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>

Applied on u-boot-mmc/master.

Thanks!

Best Regards,
Jaehoon Chung

> 
> ---
> 
>  drivers/mmc/fsl_esdhc_imx.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
> index 9299635f50..efa5ed0af7 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -336,9 +336,8 @@ static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc,
>  		}
>  	}
>  
> -	if (IS_ENABLED(CONFIG_SYS_FSL_ESDHC_USE_PIO))
> -		esdhc_setup_watermark_level(priv, data);
> -	else
> +	esdhc_setup_watermark_level(priv, data);
> +	if (!IS_ENABLED(CONFIG_SYS_FSL_ESDHC_USE_PIO))
>  		esdhc_setup_dma(priv, data);
>  
>  	/* Calculate the timeout period for data transactions */



More information about the U-Boot mailing list