summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorSarah Sharp2009-09-02 21:14:28 +0200
committerGreg Kroah-Hartman2009-09-23 15:46:18 +0200
commit624defa12f304b4d11eda309bc207fa5a1900d0f (patch)
treefb350ade85d9f1703c28eae0b2683c0a70aec8a7 /usr
parentUSB: xhci: Set -EREMOTEIO when xHC gives bad transfer length. (diff)
downloadkernel-qcow2-linux-624defa12f304b4d11eda309bc207fa5a1900d0f.tar.gz
kernel-qcow2-linux-624defa12f304b4d11eda309bc207fa5a1900d0f.tar.xz
kernel-qcow2-linux-624defa12f304b4d11eda309bc207fa5a1900d0f.zip
USB: xhci: Support interrupt transfers.
Interrupt transfers are submitted to the xHCI hardware using the same TRB type as bulk transfers. Re-use the bulk transfer enqueueing code to enqueue interrupt transfers. Interrupt transfers are a bit different than bulk transfers. When the interrupt endpoint is to be serviced, the xHC will consume (at most) one TD. A TD (comprised of sg list entries) can take several service intervals to transmit. The important thing for device drivers to note is that if they use the scatter gather interface to submit interrupt requests, they will not get data sent from two different scatter gather lists in the same service interval. For now, the xHCI driver will use the service interval from the endpoint's descriptor (bInterval). Drivers will need a hook to poll at a more frequent interval. Set urb->interval to the interval that the xHCI hardware will use. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions