[BUG] cqe unable to handle buggy cards

Ulf Hansson ulf.hansson at linaro.org
Mon Nov 2 09:54:11 EST 2020


+ cqhci maintainers

On Sat, 31 Oct 2020 at 13:54, Peter Geis <pgwipeout at gmail.com> wrote:
>
> Good Morning,
>
> We are seeing an issue on the rk3399 with certain Foresee emmc modules
> where the module reports it supports command queuing but fails in actual
> implementation.
>
> Unfortunately there doesn't seem to be any method for the mmc core code
> to detect this situation and disable command queue automatically.
> There also appears to be no way to disable it at runtime.
>
> Certain modified kernels have added a patch to enable runtime disable of
> command queue entirely, but this will affect mmc core as a whole and not
> just the buggy card.
>
> Does anyone have any insight into this issue?
> Thank you for your time.

Unfortunate, not me personally. I assume the issue is either be card
specific or host specific. Before looking at a disable option, we need
to know more about what goes wrong, I think.

Kind regards
Uffe

>
> Very Respectfully,
> Peter Geis
>
> [   64.472882] mmc2: cqhci: timeout for tag 2
> [   64.473349] mmc2: cqhci: ============ CQHCI REGISTER DUMP ===========
> [   64.474057] mmc2: cqhci: Caps:      0x00000000 | Version:  0x00000510
> [   64.474763] mmc2: cqhci: Config:    0x00000000 | Control:  0x00000000
> [   64.475468] mmc2: cqhci: Int stat:  0x00000000 | Int enab: 0x00000000
> [   64.476172] mmc2: cqhci: Int sig:   0x00000000 | Int Coal: 0x00000000
> [   64.476875] mmc2: cqhci: TDL base:  0x00000000 | TDL up32: 0x00000000
> [   64.477578] mmc2: cqhci: Doorbell:  0x00000000 | TCN:      0x00000000
> [   64.478281] mmc2: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000
> [   64.478984] mmc2: cqhci: Task clr:  0x00000000 | SSC1:     0x00011000
> [   64.479687] mmc2: cqhci: SSC2:      0x00000000 | DCMD rsp: 0x00000000
> [   64.489785] mmc2: cqhci: RED mask:  0xfdf9a080 | TERRI:    0x00000000
> [   64.499774] mmc2: cqhci: Resp idx:  0x00000000 | Resp arg: 0x00000000
> [   64.509687] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
> [   64.519597] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00001002
> [   64.529521] mmc2: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
> [   64.539440] mmc2: sdhci: Argument:  0x00010000 | Trn mode: 0x00000010
> [   64.549352] mmc2: sdhci: Present:   0x1fff0000 | Host ctl: 0x00000034
> [   64.559277] mmc2: sdhci: Power:     0x0000000b | Blk gap:  0x00000080
> [   64.569214] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
> [   64.579061] mmc2: sdhci: Timeout:   0x0000000e | Int stat: 0x00000000
> [   64.588842] mmc2: sdhci: Int enab:  0x02ff4000 | Sig enab: 0x02ff4000
> [   64.598671] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
> [   64.608446] mmc2: sdhci: Caps:      0x44edc880 | Caps_1:   0x800020f7
> [   64.618161] mmc2: sdhci: Cmd:       0x00000d1a | Max curr: 0x00000000
> [   64.627801] mmc2: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x642017d7
> [   64.637376] mmc2: sdhci: Resp[2]:   0x4e436172 | Resp[3]:  0x00880103
> [   64.646855] mmc2: sdhci: Host ctl2: 0x00000083
> [   64.656080] mmc2: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0xf0628208
> [   64.665445] mmc2: sdhci: ============================================
> [   64.674998] mmc2: running CQE recovery
>
> [  125.912941] mmc2: cqhci: timeout for tag 3
> [  125.921978] mmc2: cqhci: ============ CQHCI REGISTER DUMP ===========
> [  125.931200] mmc2: cqhci: Caps:      0x00000000 | Version:  0x00000510
> [  125.940389] mmc2: cqhci: Config:    0x00000001 | Control:  0x00000000
> [  125.949499] mmc2: cqhci: Int stat:  0x00000000 | Int enab: 0x00000006
> [  125.958527] mmc2: cqhci: Int sig:   0x00000006 | Int Coal: 0x00000000
> [  125.967486] mmc2: cqhci: TDL base:  0x00000000 | TDL up32: 0x00000000
> [  125.976260] mmc2: cqhci: Doorbell:  0x00000000 | TCN:      0x00000000
> [  125.985065] mmc2: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000
> [  125.993698] mmc2: cqhci: Task clr:  0x00000000 | SSC1:     0x00011000
> [  126.002244] mmc2: cqhci: SSC2:      0x00000000 | DCMD rsp: 0x00000000
> [  126.010716] mmc2: cqhci: RED mask:  0xfdf9a080 | TERRI:    0x00000000
> [  126.019159] mmc2: cqhci: Resp idx:  0x00000000 | Resp arg: 0x00000000
> [  126.027525] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
> [  126.035955] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00001002
> [  126.044258] mmc2: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
> [  126.052396] mmc2: sdhci: Argument:  0x00000001 | Trn mode: 0x00000010
> [  126.060370] mmc2: sdhci: Present:   0x1fff0000 | Host ctl: 0x00000034
> [  126.068241] mmc2: sdhci: Power:     0x0000000b | Blk gap:  0x00000080
> [  126.075978] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
> [  126.083552] mmc2: sdhci: Timeout:   0x0000000e | Int stat: 0x00000000
> [  126.090937] mmc2: sdhci: Int enab:  0x02ff4000 | Sig enab: 0x02ff4000
> [  126.098219] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
> [  126.105403] mmc2: sdhci: Caps:      0x44edc880 | Caps_1:   0x800020f7
> [  126.112649] mmc2: sdhci: Cmd:       0x00003013 | Max curr: 0x00000000
> [  126.119700] mmc2: sdhci: Resp[0]:   0x00400800 | Resp[1]:  0x642017d7
> [  126.126594] mmc2: sdhci: Resp[2]:   0x4e436172 | Resp[3]:  0x00880103
> [  126.133334] mmc2: sdhci: Host ctl2: 0x00000083
> [  126.139652] mmc2: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0xf0628208
> [  126.146008] mmc2: sdhci: ============================================
> [  126.152361] mmc2: running CQE recovery
>
>



More information about the Linux-rockchip mailing list