[PATCH] mmc: dw_mmc: Fixes timeout issue for FIFO mode

gtXfined H. hmz007 at gmail.com
Tue Jan 11 12:05:03 CET 2022


Hi,

>  Which board did you test? When you do power-on, is it reproduced every
time?

I am using Rockchip RK3399 based board - NanoPi R4S for this test.
It doesn't appear every time, but it should be encountered once about 20
times.
I have run "setenv bootcmd reset; saveenv; reset" for automated testing.


> Could you change from your ID to your name?

This is my first time sending a patch, sorry I didn't notice this, do I
need to resend this patch?


BR,
Jensen, Huang


On Tue, Jan 11, 2022 at 6:38 PM Jaehoon Chung <jh80.chung at samsung.com>
wrote:

> Hi,
>
> On 1/11/22 7:24 PM, hmz007 wrote:
> > Clearing the DTO interrupt should be unnecessary, and it would
> > potentially result in never receiving this interrupt again.
> >
> > Do power-on or reset from uboot for a while can reproduce the issue:
> >   dwmci_data_transfer: Timeout waiting for data!
> >   mmc_load_image_raw_sector: mmc block read error
>
> Which board did you test? When you do power-on, is it reproduced every
> time?
>
> >
> > Tested on NanoPi R4S with SanDisk Extreme PRO 32GB.
> >
> > Fixes: 8cb9d3ed3a ("mmc: dw_mmc: Fixes data read when receiving DTO
> interrupt in FIFO mode")
> > Signed-off-by: hmz007 <hmz007 at gmail.com>
>
> Could you change from your ID to your name?
>
> Best Regards,
> Jaehoon Chung
>
> > ---
> >  drivers/mmc/dw_mmc.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
> > index a949dad574..8fa26b340b 100644
> > --- a/drivers/mmc/dw_mmc.c
> > +++ b/drivers/mmc/dw_mmc.c
> > @@ -168,7 +168,7 @@ static int dwmci_data_transfer(struct dwmci_host
> *host, struct mmc_data *data)
> >                       if (data->flags == MMC_DATA_READ &&
> >                           (mask & (DWMCI_INTMSK_RXDR |
> DWMCI_INTMSK_DTO))) {
> >                               dwmci_writel(host, DWMCI_RINTSTS,
> > -                                          DWMCI_INTMSK_RXDR |
> DWMCI_INTMSK_DTO);
> > +                                          DWMCI_INTMSK_RXDR);
> >                               while (size) {
> >                                       ret = dwmci_fifo_ready(host,
> >                                                       DWMCI_FIFO_EMPTY,
> >
>
>


More information about the U-Boot mailing list