Re: [PATCH 3/3] xhci: Support interrupt transfers.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 28 Aug 2009, Sarah Sharp wrote:

> 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.

The scatter-gather interface is really meant to support bulk transfers 
only, not interrupt transfers.  Not that there's anything actually 
_wrong_ with using it that way, but it would be an awfully strange 
thing to do.

> 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.

If you end up using an interval different from what was specified in 
the URB, you must update urb->interval to value you actually used.  
This is documented in include/linux/usb.h.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux