Tom Goetz
2012-Mar-19 21:05 UTC
Re: xHCI not waking up from D3 after S3 Resume on Ivybridge
On Mar 19, 2012, at 12:45 PM, Tom Goetz wrote:> > On Mar 19, 2012, at 9:32 AM, Tom Goetz wrote: > >> >> On Mar 17, 2012, at 1:50 PM, Konrad Rzeszutek Wilk wrote: >> >>>>> >>>>> xHCI wakes up from D3 on the SDP with Ubuntu 12.04 Beta 1 and 3.2.11. This fails with the same 3.2.11 kernel and Xen. So the problem is Xen related. >>> >>> >>>> >>>> Another update. >>>> >>>> On the Ivybridge laptop, xHCI is not waking up because when I plug a device into a xHCI port the ACPI wakeup events are going to the e1000e. Pre S3, it eventually gets a interrupt from the device that wakes it up. Post S3 it never gets an interrupt from the device. >>> >>> So these are all MSI related issues right. >> >> Maybe. >> >>> The e1000e is also MSI? >> >> Yes. The e1000e getting the xHCI''s wake ups is only on one machine. I assume thats a BIOS bug. The broad based issue is that on two manufacturers Ivybridge plus an Intel SDP Ivybridge, xHCI will not wake up from D3 when a USB device is plugged in. > > > 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?