Re: [PATCH] mmc: renesas_sdhi: fix regression with hard reset on old SDHIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Wolfram,

On Thu, Aug 26, 2021 at 4:25 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Thu, Aug 26, 2021 at 10:21 AM Wolfram Sang
> <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote:
> > Old SDHI instances have a default value for the reset register which
> > keeps it in reset state by default. So, when applying a hard reset we
> > need to manually leave the soft reset state as well. Later SDHI
> > instances have a different default value, the one we write manually now.
> >
> > Fixes: b4d86f37eacb ("mmc: renesas_sdhi: do hard reset if possible")
> > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> > ---
> >
> > Geez, typical SDHI nastiness here...
> >
> > Geert: I think this fixes the issue you saw on Koelsch. It works fine on
> > my Lager now at least. Can you please test and tag if all goes well?
> > It would be great to have this in 5.14 but it definately needs Geert's
> > confirmation first.
>
> Thanks, fixes the SD Card issue is was seeing on Koelsch, and still
> works on Salvator-XS.
>
> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

Note that this does not fix the issues on gose and alt in Magnus'
farm, but they may have failed before b4d86f37eacb too.

gose:

    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD51)
    mmc0: error -110 whilst initialising SD card
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    ------------[ cut here ]------------
    WARNING: CPU: 1 PID: 35 at kernel/dma/debug.c:498 add_dma_entry+0x134/0x178
    DMA-API: exceeded 7 overlapping mappings of cacheline 0x0000000001099f61

alt:

    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    DMA-API: cacheline tracking EEXIST, overlapping mappings aren't supported
    sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
    ------------[ cut here ]------------
    WARNING: CPU: 1 PID: 49 at kernel/dma/debug.c:498 add_dma_entry+0x134/0x178
    DMA-API: exceeded 7 overlapping mappings of cacheline 0x0000000001082b42

Other MMC instances on gose and alt seem to work.

>From my limited collection of logs of booting on these boards, ee100000.mmc on
  - gose worked in v4.15, and is broken since at least v4.17,
  - alt worked in v5.1-rc6, and is broken now.
SD cards might have been changed in the meantime, though.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux