xhci: USB 3.0 BW checking.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 13 Sep 2011 23:41:13 +0000 (16:41 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 20 Sep 2011 19:33:50 +0000 (12:33 -0700)
commit2b69899934c63b7b9432568584fb4c4a2924f40c
treefd857f901beaf7c60b7015422aa5bc85e4a8eebe
parent170c026347c867a71e27713b98c58b266146c468
xhci: USB 3.0 BW checking.

The Intel Panther Point xHCI host tracks SuperSpeed endpoints in a
different way than USB 2.0/1.1 endpoints.  The bandwidth interval tables
are not used, and instead the bandwidth is calculated in a very simple
way.  Bandwidth for SuperSpeed endpoints is tracked individually in each
direction, since each direction has the full USB 3.0 bandwidth available.
10% of the bus bandwidth is reserved for non-periodic transfers.

This checking would be more complex if we had USB 3.0 LPM enabled, because
an additional latency for isochronous ping times need to be taken into
account.  However, we don't have USB 3.0 LPM support in Linux yet.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h