Re: xHCI and suspend/resume
From: Rafael J. Wysocki <hidden>
Date: 2011-05-18 19:40:41
On Wednesday, May 18, 2011, Dwight Schauer wrote:
On Tue, May 17, 2011 at 8:59 PM, Xu, Andiry [off-list ref] wrote:quoted
quoted
-----Original Message----- From: linux-usb-owner@vger.kernel.org [mailto:linux-usb- owner@vger.kernel.org] On Behalf Of Dwight Schauer Sent: Wednesday, May 18, 2011 7:02 AM To: Rafael J. Wysocki Cc: linux-pm@lists.linux-foundation.org; Sarah Sharp; dschauer@ti.com; USB list Subject: Re: [linux-pm] xHCI and suspend/resume On Tue, May 17, 2011 at 5:56 PM, Rafael J. Wysocki [off-list ref] wrote:quoted
On Wednesday, May 18, 2011, Dwight Schauer wrote:quoted
On Tue, May 17, 2011 at 4:54 PM, Rafael J. Wysocki [off-list ref]wrote:quoted
quoted
quoted
On Tuesday, May 17, 2011, Dwight Schauer wrote:quoted
On Tue, May 17, 2011 at 4:43 PM, Rafael J. Wysocki [off-list ref]wrote:quoted
quoted
quoted
...quoted
quoted
OK, one more test, please. Try to do # echo core > /sys/power/pm_test # echo mem > /sys/power/state (that should simulate suspend, but without going into the BIOS,and itquoted
quoted
quoted
quoted
quoted
should return do the command prompt after 5-10 sec.) and checkif thequoted
quoted
quoted
quoted
quoted
USB3 controllers work after that ("echo none >/sys/power/pm_test" resetsquoted
quoted
quoted
quoted
quoted
to the normal suspend behavior). Thanks, RafaelNo problem. The simulated suspend works fine.Good.quoted
Also, waking up from S3 via a PS/2 keyboard works fine.Hmm. Do you mean that the USB3 controllers work after the resumeifquoted
quoted
quoted
the box has been woken up via the keyboard and they don't workwhen itquoted
quoted
quoted
has been woken up via a power button? RafaelThey work either way. I'm just not able to get the USB keyboard that is connected to the USB3 controller to perform the wakeup. (Which is what I thought I made clear from the beginning and what Alan Sternhadquoted
quoted
reiterated for new readers further into the thread).Oh, I must have missed that information. Sorry about that. So, the situation is that if you set up the USB3 controllers to wakeupquoted
and next you wake up the system from S3 using a USB device connectedto onequoted
of those controllers, then they appear to be in D3 after the resumeandquoted
apparently cannot be put into D0. However, if the wakeup is done inanyquoted
different way, they work correctly after the resume, right? Is that the case on both the affected systems?On both systems the USB3 controllers plugged into PCIe slots work fine after the system has been woken up from S3 suspend state. The USB3 keyboard plugged into the PCIe USB3 controller is immediately avaiable after the system has woken up. It is just that in Linux a keyboard plugged into the USB3 controller can not be used to wake the system up when it has gone into S3 suspend. With Windows 7 on our test systems our USB3 contoller (the Texas Instruments Inc. PCEe xHCI device) a USB keyboard plugged into it can wake it up from an S3 suspend.I've verified that USB keyboard under xHCI controller can wakeup system from S3, either by press the keyboard or plug it in during suspend. But you need to enable wakeup in /proc/acpi/wakeup for the corresponding xHC controller. Thanks, AndiryI was told /proc/acpi/wakeup was deprecated, and to use /sys/devices/pci.../power/wakeup instead.
That is correct, but /proc/acpi/wakeup still contains valid information and is generally useful for debugging, so I'd appraciate it if you could tell me what's in there.
Anyways, the controllers in question are not showing up in /proc/acpi/wakeup. These are add on cards, not devices included on the motherboard.
In that case you may try to enable wakeup for the bridges they are attached to. Hard to say without any more information. Thanks, Rafael