Re: PCI PME# routing problem?

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

 



On Wednesday, September 28, 2011, Alan Stern wrote:
> On Tue, 27 Sep 2011, Rafael J. Wysocki wrote:
> 
> > > > What's there in /proc/acpi/wakeup ?
> > > 
> > > Here it is:
> > > 
> > > Device	S-state	  Status   Sysfs node
> > > P0P4	  S4	*disabled  pci:0000:00:1e.0
> > > MC97	  S4	*disabled  
> > > USB1	  S4	*enabled   pci:0000:00:1d.0
> > > USB2	  S4	*enabled   pci:0000:00:1d.1
> > > USB3	  S4	*enabled   pci:0000:00:1d.2
> > > USB4	  S4	*enabled   pci:0000:00:1d.3
> > > EUSB	  S4	*enabled   pci:0000:00:1d.7
> > > PS2K	  S4	*enabled   pnp:00:09
> > > PS2M	  S4	*disabled  pnp:00:0a
> > > GBEN	  S4	*disabled  
> > > 
> > > Of course the 000:01:01.1 device isn't on the list, because it's part
> > > of an add-on PCI card, not built into the motherboard.
> > > 
> > > I tried echoing "P0P4" to /proc/acpi/wakeup, which caused the first 
> > > line above to say "enabled", but there was no difference in behavior.  
> > > Is the fact that the S-state column says S4 relevant (bearing in mind 
> > > that the test does an S3 suspend)?
> > > 
> > > I also checked the setting of 
> > > /sys/bus/pci/devices/0000:00:1e.0/power/wakeup, and it says "enabled"
> > > following the write to /proc/acpi/wakeup.
> > 
> > That's how it is supposed to work.
> > 
> > > Now, it's possible that the problem is at a lower level.  Maybe the 
> > > device is not getting wakeup power even though it's supposed to be in 
> > > D3hot.
> > 
> > That's possible.  Moreover, it is possible that the BIOS removes power
> > from the bus segment the device is on entirely, in which case it would
> > need the auxiliary power source to generate wakeup events.
> 
> Is there any way to find out whether this is happening?

Frankly, I don't know.

We may be entering an area that's never been tested by any vendors
in this case.

> > > I don't know how to check that, however, or how to see whether 
> > > or not its PME# signal is asserted when the system wakes up.  By the 
> > > time the system finishes resuming it is too late, because the driver's 
> > > resume routine does a complete reset of the device (not to mention that 
> > > the PCI subsystem's resume routine restores the device's config space 
> > > contents and disables PME#).
> > 
> > Hmm.  Does the device report being able to generate wakeup events from D3_cold?
> 
> # lspci -vv -s 1:01.01
> 01:01.1 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
> 	Subsystem: NEC Corporation Hama USB 2.0 CardBus
> 	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: 32 (250ns min, 10500ns max), Cache Line Size: 32 bytes
> 	Interrupt: pin B routed to IRQ 23
> 	Region 0: Memory at fe5de000 (32-bit, non-prefetchable) [size=4K]
> 	Capabilities: [40] 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=0 PME-
> 	Kernel driver in use: ohci_hcd
> 	Kernel modules: ohci-hcd
> 
> Apparently not.

So it won't generate PMEs if the bus segment is powered down during system
suspend.

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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux