xhci 1.0: Update TD size field format.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 1 Apr 2011 21:01:30 +0000 (14:01 -0700)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Mon, 2 May 2011 23:42:55 +0000 (16:42 -0700)
commit4da6e6f247a2601ab9f1e63424e4d944ed4124f3
treec337dbf51114b7aafb122a16c35807e661b4036b
parentaf8b9e636065ba1701c4215a8dc4f7a1d69d934b
xhci 1.0: Update TD size field format.

The xHCI 1.0 specification changes the format of the TD size field in
Normal and Isochronous TRBs.  The field in control TRBs is still set to
reserved zero.  Instead of representing the number of bytes left to
transfer in the TD (including the current TRB's buffer), it now represents
the number of packets left to transfer (*not* including this TRB).

See section 4.11.2.4 of the xHCI 1.0 specification for details.  The math
is basically copied straight from there.

Create a new function, xhci_v1_0_td_remainder(), that should be called for
all xHCI 1.0 host controllers.  The field location and maximum value is
still the same, so reuse the old function, xhci_td_remainder(), to handle
the bit shifting.

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