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