xHCI/USB: Make xHCI driver have a BOS descriptor.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 6 Oct 2011 18:54:23 +0000 (11:54 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 18 Oct 2011 20:42:06 +0000 (13:42 -0700)
commit48e8236114c12c5366e032fc517e1bd376369a56
tree40e410e90671bbbb7f25f5563d6cbe000797c263
parentfa3ae0c158c70e6cf227b3a194659ee7fed8c588
xHCI/USB: Make xHCI driver have a BOS descriptor.

To add USB 3.0 link power management (LPM), we need to know what the U1
and U2 exit latencies are for the xHCI host controller.  External USB 3.0
hubs report these values through the SuperSpeed Capabilities descriptor in
the BOS descriptor.  Make the USB 3.0 roothub for the xHCI host behave
like an external hub and return the BOS descriptors.

The U1 and U2 exit latencies will vary across each host controller, so we
need to dynamically fill those values in by reading the exit latencies out
of the xHC registers.  Make the roothub code in the USB core handle
hub_control() returning the length of the data copied.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hcd.c
drivers/usb/host/xhci-hub.c