Re: xHCI: Limiting host bInterval for super speed endpoints for Texas Instruments host controllers

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

 



On Thu, 30 Jun 2011, Sarah Sharp wrote:

> On Thu, Jun 30, 2011 at 09:19:02AM -0500, Schauer, Dwight wrote:
> > Hi,
> > 
> > I've not fully implemented and tested this yet, I just wanted to make sure I was on the right track as far as what to modify in the xhci_hcd module to limit bInterval for super speed endpoints.
> 
> It helps if you Cc me. :)  I often end up ignoring the Linux USB mailing
> list for days if I'm hacking on some patchset.
> 
> > With the TI USB3 host controllers we have found that there is an intermittent enumeration issue with devices whose interrupt EP binterval >7. As a result the xHCI Driver should program binterval = 7 for any device reporting binterval > 7 on the interrupt EP.
> 
> From your patch, it looks like only SuperSpeed interrupt endpoints are
> effected, is that true?
> 
> > I'm putting the clamping of bInterval in xhci_endpoint_init, but am not sure if this is the correct location.
> 
> It's probably the right place for it.  Another way to do it might be to
> have the USB core change the stored device descriptors before drivers
> have a chance to bind to the device.  Alan might have an opinion on
> this.

This is a hardware-specific problem and usbcore knows nothing about the
quirks of various host controllers.  It definitely does not belong in 
usbcore.

Besides, there already are occasions where host controller drivers will 
reduce an interrupt endpoint's interval below the value requested in an 
URB or stored in the endpoint descriptor.

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