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

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

 



On Sat, Aug 29, 2009 at 12:02:20PM -0400, Alan Stern wrote:
> 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.

David Vrabel submitted a patch to support scatter gather lists for all
non-control transfer types, so I was only commenting that the xHCI
driver is now ready for bulk and interrupt scatter gather lists.  If you
think it's strange you should probably bring it up with him. :)

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

Ah, ok, I'll respin this patch.

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