RE: sdhci-pci-o2micro no longer detects eMMC device

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

 



Hi Drake,
	Can you tell me the value of PCI configuration register 0x308 bit4 is 0 or 1?  
	And can you enable module sdhci, sdhci_pci and mmc_core dynamic printk output and send the full eMMC initialization log to me?

BR
Ernest

-----邮件原件-----
发件人: Daniel Drake <drake@xxxxxxxxxxxx> 
发送时间: 2019年8月27日 17:34
收件人: Ernest Zhang(WH) <ernest.zhang@xxxxxxxxxxxxxx>
抄送: linux-mmc@xxxxxxxxxxxxxxx; Endless Linux Upstreaming Team <linux@xxxxxxxxxxxx>
主题: sdhci-pci-o2micro no longer detects eMMC device

Hi,

As of recent kernels, the eMMC storage is no longer detected on this MiniPC which has eMMC connected to:

02:00.0 SD Host controller [0805]: O2 Micro, Inc. Device [1217:8620] (rev 01) (prog-if 01)
    Subsystem: O2 Micro, Inc. Device [1217:0002]

git bisect found the commit that introduces the problem:

commit 414126f9e5abf1973c661d24229543a9458fa8ce (HEAD, refs/bisect/bad)
Author: Ernest Zhang(WH) <ernest.zhang@xxxxxxxxxxxxxx>
Date:   Fri Jan 18 06:04:53 2019 +0000

    mmc: sdhci: Remove unneeded quirk2 flag of O2 SD host controller

With this commit applied, these are the logs from loading the driver, showing the failure to detect the storage device:

sdhci-pci 0000:00:14.7: SDHCI controller found [1022:7813] (rev 1)
mmc0: SDHCI controller on PCI [0000:00:14.7] using ADMA sdhci-pci 0000:02:00.0: SDHCI controller found [1217:8620] (rev 1) pcieport 0000:00:02.4: can't derive routing for PCI INT A sdhci-pci 0000:02:00.0: PCI INT A: not connected
mmc1: SDHCI controller on PCI [0000:02:00.0] using ADMA
mmc1: Got data interrupt 0x02000000 even though no data operation was in progress.
mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00000603
mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000001
mmc1: sdhci: Argument:  0x03af0101 | Trn mode: 0x00000013
mmc1: sdhci: Present:   0x01ff0001 | Host ctl: 0x00000011
mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x0000fa07
mmc1: sdhci: Timeout:   0x0000000a | Int stat: 0x00000000
mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
mmc1: sdhci: Caps:      0x25fcc8bf | Caps_1:   0x00002077
mmc1: sdhci: Cmd:       0x0000061b | Max curr: 0x005800c8
mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0xffffffff
mmc1: sdhci: Resp[2]:   0x329f5903 | Resp[3]:  0x00d0ffff
mmc1: sdhci: Host ctl2: 0x00000000
mmc1: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0x3d005208
mmc1: sdhci: ============================================
mmc1: Timeout waiting for hardware interrupt.
mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00000603
mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000001
mmc1: sdhci: Argument:  0x03af0101 | Trn mode: 0x00000013
mmc1: sdhci: Present:   0x01ff0006 | Host ctl: 0x00000011
mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x0000fa07
mmc1: sdhci: Timeout:   0x0000000a | Int stat: 0x00000000
mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
mmc1: sdhci: Caps:      0x25fcc8bf | Caps_1:   0x00002077
mmc1: sdhci: Cmd:       0x0000061b | Max curr: 0x005800c8
mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0xffffffff
mmc1: sdhci: Resp[2]:   0x329f5903 | Resp[3]:  0x00d0ffff
mmc1: sdhci: Host ctl2: 0x00000000
mmc1: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0x3d005208
mmc1: sdhci: ============================================
mmc1: error -110 whilst initialising MMC card
mmc1: Got data interrupt 0x02000000 even though no data operation was in progress.
mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00000603
mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000001
mmc1: sdhci: Argument:  0x03af0101 | Trn mode: 0x00000013
mmc1: sdhci: Present:   0x01ff0001 | Host ctl: 0x00000011
mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00004e47
mmc1: sdhci: Timeout:   0x0000000a | Int stat: 0x00000000
mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
mmc1: sdhci: Caps:      0x25fcc8bf | Caps_1:   0x00002077
mmc1: sdhci: Cmd:       0x0000061b | Max curr: 0x005800c8
mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0xffffffff
mmc1: sdhci: Resp[2]:   0x329f5903 | Resp[3]:  0x00d0ffff
mmc1: sdhci: Host ctl2: 0x00000000
mmc1: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0x3d005208
mmc1: sdhci: ============================================


Please let me know if I can provide further info to help understand this problem.

Thanks
Daniel




[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