]> git.karo-electronics.de Git - karo-tx-linux.git/commit
USB: xhci: properly set the "Mult" field of the endpoint context.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 16 Apr 2010 15:07:04 +0000 (08:07 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 12 May 2010 21:57:03 +0000 (14:57 -0700)
commit0a0da543426241627580bda5fccb5ddf444a1aba
tree5d79997095b1500e75ed9813b4da2dd4cc26fb4e
parentdd13b9f4a90b5dcefb7ef36393a55c96f3f10a76
USB: xhci: properly set the "Mult" field of the endpoint context.

commit 1cf62246c0e394021e494e0a8f1013e80db1a1a9 upstream.

A SuperSpeed interrupt or isochronous endpoint can define the number of
"burst transactions" it can handle in a service interval.  This is
indicated by the "Mult" bits in the bmAttributes of the SuperSpeed
Endpoint Companion Descriptor.  For example, if it has a max packet size
of 1024, a max burst of 11, and a mult of 3, the host may send 33
1024-byte packets in one service interval.

We must tell the xHCI host controller the number of multiple service
opportunities (mults) the device can handle when the endpoint is
installed.  We do that by setting the Mult field of the Endpoint Context
before a configure endpoint command is sent down.  The Mult field is
invalid for control or bulk SuperSpeed endpoints.

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