Thread (1 message) 1 message, 1 author, 2011-05-18

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 it
quoted
quoted
quoted
quoted
quoted
should return do the command prompt after 5-10 sec.) and check
if the
quoted
quoted
quoted
quoted
quoted
USB3 controllers work after that ("echo none >
/sys/power/pm_test" resets
quoted
quoted
quoted
quoted
quoted
to the normal suspend behavior).

Thanks,
Rafael
No 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 resume
if
quoted
quoted
quoted
the box has been woken up via the keyboard and they don't work
when it
quoted
quoted
quoted
has been woken up via a power button?

Rafael
They 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 Stern
had
quoted
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 wake
up
quoted
and next you wake up the system from S3 using a USB device connected
to one
quoted
of those controllers, then they appear to be in D3 after the resume
and
quoted
apparently cannot be put into D0.  However, if the wakeup is done in
any
quoted
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,
Andiry
I 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help