[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xHCI not waking up from D3 after S3 Resume on Ivybridge
On Tue, Mar 20, 2012 at 10:44:15AM -0400, Tom Goetz wrote: > > On Mar 19, 2012, at 6:11 PM, Sarah Sharp wrote: > > > On Mon, Mar 19, 2012 at 05:05:47PM -0400, Tom Goetz wrote: > >> On Mar 19, 2012, at 12:45 PM, Tom Goetz wrote: > >>> On Mar 19, 2012, at 9:32 AM, Tom Goetz wrote: > >>> I've just found that if the xHCI is in D3, has a USB device plugged in, > >>> and is not waking up, it will wake up when another device in D3 wakes up. > >>> Here's the steps I followed: > >>> > >>> 1. S3 suspend > >>> 2. S3 Resume > >>> 3. set xHCI power policy to "auto" > >>> 4. xHCI goes into D3 > >>> 5. Plug USB device into xHCI > >>> 6. xHCI does not wake up > >>> 7. set e1000e power policy to "auto" > >>> 8. Unplug ethernet cable > >>> 9. e100e goes into D3 > >>> 10. Plug in ethernet cable > >>> 11. Both e1000e and xHCI wake up. > >> > >> I think xHCI waking from D3 when e1000e wakes from D3 is because they > >> share the same GPE (0xd). Instrumenting PME polling shows that PME is > >> enabled, but PME status is never set on the xHCI when a USB device is > >> plugged in. > >> > >> What can mask PME from firing when it's enabled on the device? > > > > Intel had a issue with ACPI tables being incorrect in some Ivy Bridge > > systems. This led to the kernel ignoring PMEs from the xHCI host > > controller because it didn't know the PME was associated with the xHCI > > PCI device. That ACPI table fix was supposed to make it into the Intel > > reference BIOS. Have you tried updating your BIOS? > > Was running last months. Updated today. Still happens. > > > > > However, the kernel was patched to wake up all PCI devices under the PCI > > bridge that reported a spurious PME, so you shouldn't even need the BIOS > > update. See commit 379021d5c0899fcf9410cae4ca7a59a5a94ca769 "PCI / PM: > > Extend PME polling to all PCI devices". > > I've looked at the that code. I instrumented it to verify that PME was > enabled and PME status was never set. Ok. Maybe the port change bits weren't cleared before the host was placed into D3 after suspend. Can you turn on CONFIG_USB_DEBUG and CONFIG_USB_XHCI_HCD_DEBUGGING, and capture the log messages from the time you suspend the system to when you resume and the xHCI host goes into D3? Sarah Sharp _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |