Re: sdhci_pci: card insertion not detected after s2disk

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

 



On Sun, 2010-10-24 at 14:36 +0200, Luca Tettamanti wrote:
> Hello,
> I noticed that after resuming from s2disk the controller does not
> detected when a card is inserted into the slot. The controller seems to
> work fine after s2ram. I'm currently running kernel 2.6.36, this is the
> hardware:
> 
> 09:01.1 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 22)
> 	Subsystem: ASUSTeK Computer Inc. Device [1043:14e7]
> 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 64, Cache Line Size: 32 bytes
> 	Interrupt: pin B routed to IRQ 17
> 	Region 0: Memory at feaff400 (32-bit, non-prefetchable) [size=256]
> 	Capabilities: [80] Power Management version 2
> 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
> 		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
> 	Kernel driver in use: sdhci-pci
> 00: 80 11 22 08 06 01 10 02 22 00 05 08 08 40 80 00
> 10: 00 f4 af fe 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 e7 14
> 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 02 00 00
> 
> 09:01.2 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev 12)
> 	Subsystem: ASUSTeK Computer Inc. Device [1043:14e7]
> 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 64, Cache Line Size: 32 bytes
> 	Interrupt: pin B routed to IRQ 17
> 	Region 0: Memory at feaff000 (32-bit, non-prefetchable) [size=256]
> 	Capabilities: [80] Power Management version 2
> 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
> 		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
> 	Kernel driver in use: sdhci-pci
> 00: 80 11 43 08 06 01 10 02 12 00 80 08 08 40 80 00
> 10: 00 f0 af fe 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 e7 14
> 30: 00 00 00 00 80 00 00 00 00 00 00 00 05 02 00 00
> 
> There are changes in the PCI configuration space after resume.
> 
> dmesg:
> 
> sdhci-pci 0000:09:01.1: SDHCI controller found [1180:0822] (rev 22)
> sdhci-pci 0000:09:01.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> sdhci-pci 0000:09:01.1: Will use DMA mode even though HW doesn't fully claim to support it.
> Registered led device: mmc0::
> mmc0: SDHCI controller on PCI [0000:09:01.1] using DMA
> sdhci-pci 0000:09:01.2: SDHCI controller found [1180:0843] (rev 12)
> sdhci-pci 0000:09:01.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> Registered led device: mmc1::
> mmc1: SDHCI controller on PCI [0000:09:01.2] using DMA
> 
> Resume says:
> 
> [54440.612047] sdhci-pci 0000:09:01.1: BAR 0: set to [mem 0xfeaff400-0xfeaff4ff] (PCI address [0xfeaff400-0xfeaff4ff]
> [54440.612094] sdhci-pci 0000:09:01.1: restoring config space at offset 0x3 (was 0x800000, writing 0x804008)
> [54440.612110] sdhci-pci 0000:09:01.1: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100106)
> [54440.628042] sdhci-pci 0000:09:01.2: BAR 0: set to [mem 0xfeaff000-0xfeaff0ff] (PCI address [0xfeaff000-0xfeaff0ff]
> [54440.628089] sdhci-pci 0000:09:01.2: restoring config space at offset 0x3 (was 0x800000, writing 0x804008)
> [54440.628104] sdhci-pci 0000:09:01.2: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100106)
> [...]
> [54440.785245] sdhci-pci 0000:09:01.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> [54440.785248] sdhci-pci 0000:09:01.1: Will use DMA mode even though HW doesn't fully claim to support it.
> [54440.786263] sdhci-pci 0000:09:01.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> 
> No errors that I can see. After rmmod sdhci_pci && modprobe sdhci_pci
> the controller works fine again.
> Should I try adding additional quirks?

This is very strange.
I had quite a lot of similar problems with this device.
But these seem to be caused by CONFIG_MMC_RICOH_MMC
which you don't have enabled.
But you use my code that makes sdhci bind to mmc controller.

So that what I would be very happy if you do:

1. post lspci output.

2. Test if this is reproducible.

3. See if loading/unloading of r852 (my driver for xD portion) before
suspend makes any difference.

Best regards,
	Maxim Levitsky

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

  Powered by Linux