xhci: Report USB 2.1 link status for L1
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 2 Apr 2013 16:23:42 +0000 (09:23 -0700)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 23 Jul 2013 21:19:19 +0000 (14:19 -0700)
commit063ebeb4335312d05bdf6fb4fc0e41500c6c0afb
tree7edf6596fa0044ddf1c228f6bc8db51c0579ce35
parenteae5b17621d1053c81bec24e5dd5094bf50b31c6
xhci: Report USB 2.1 link status for L1

USB 2.1 devices can go into a lower power link state, L1.  When they are
active, they are in the L0 state.  The L1 transition can be purely
driven by software, or some USB host controllers (including some xHCI
1.0 hosts) allow the host hardware to track idleness and automatically
place a port into L1.

The USB 2.1 Link Power Management ECN gives a way for USB 2.1 hubs that
support LPM to report that a port is in L1.  The port status bit 5 will
be set when the port is in L1.  The xHCI host reports the root port as
being in 'U2' when the devices is in L1, and as being in 'U0' when the
port is active (in L0).

Translate the xHCI USB 2.1 link status into the format external hubs
use, and pass the L1 status up to the USB core and tools like lsusb.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/host/xhci-hub.c