Re: msm8996: sdhci-msm: apq8096-db820c sdhci fails to init - "Timeout waiting for hardware interrupt."

From: Brian Masney
Date: Fri Oct 11 2019 - 02:01:33 EST


Hi Paolo,

On Thu, Oct 10, 2019 at 04:32:32PM +0200, Paolo Pisati wrote:
> Sdhci consistenlty fails to initialize (and thus work) on my apq8096-db820c.
>
> The issue is present since v5.0[*] mainline up to latest v5.4-rc2, using defconfig and:
>
> CONFIG_SCSI_UFS_QCOM=y
> CONFIG_PHY_QCOM_QMP=y
> CONFIG_PHY_QCOM_UFS=y
> CONFIG_ATL1C=y
>
> but can be 100% reproduced with a clean defconfig too.
>
> During boot, when it's time to mount the sdcard, mmc0 spits out a lot of:
>
> ...
> [ 13.683059] mmc0: Timeout waiting for hardware interrupt.
> [ 13.683095] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
> [ 13.687441] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00004902
> [ 13.693861] mmc0: sdhci: Blk size: 0x00004200 | Blk cnt: 0x00000000
> [ 13.700285] mmc0: sdhci: Argument: 0x00012444 | Trn mode: 0x00000033
> [ 13.706707] mmc0: sdhci: Present: 0x01680206 | Host ctl: 0x0000001f
> [ 13.713131] mmc0: sdhci: Power: 0x00000001 | Blk gap: 0x00000000
> [ 13.719555] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
> [ 13.725979] mmc0: sdhci: Timeout: 0x0000000a | Int stat: 0x00000000
> [ 13.732403] mmc0: sdhci: Int enab: 0x03ff900b | Sig enab: 0x03ff100b
> [ 13.738824] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
> [ 13.745249] mmc0: sdhci: Caps: 0x322dc8b2 | Caps_1: 0x00008007
> [ 13.751673] mmc0: sdhci: Cmd: 0x0000123a | Max curr: 0x00000000
> [ 13.758097] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0x5b590000
> [ 13.764519] mmc0: sdhci: Resp[2]: 0x76b27f80 | Resp[3]: 0x0a404012
> [ 13.770944] mmc0: sdhci: Host ctl2: 0x00000000
> [ 13.777365] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000001588be200
> [ 13.781708] mmc0: sdhci: ============================================
> [ 13.888927] mmc0: Reset 0x4 never completed.
> ...
> [ 14.004327] mmc0: Controller never released inhibit bit(s).
>
> in between several sdhci register dumps.
>
> Has anyone seen that before? Is sdhci-msm support broken upstream or am i missing
> something config-wise?

I encountered that same error working on the Nexus 5 support upstream.
Here's the fix:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=03864e57770a9541e7ff3990bacf2d9a2fffcd5d

Brian