Thanks Alan and Sarah. On Thu, Jun 30, 2011 at 1:22 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > 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. I'll try to remember that for next time, as I hope to have this patch done and submitted prior to July 11th. :) >> >> > 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? Yes, that is correct. "Program bInterval=7 for any Super Speed Interrupt endpoint w/ binterval > 7" is the behavior needed with this patch. >> >> > 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. OK, I had not followed how ep_ctx->ep_info is being used higher up, this just seemed to be the place to put it. Do I need to do something specific with ep_ctx->ep_info in xhci_endpoint_init, or is that handled automatically to set the bInterval? It also chose xhci_endpoint_init as it has the xhci pointer, so that xhci->quirks can checked. Functions lower down did not have xhci passed in. > This is a hardware-specific problem and usbcore knows nothing about the > quirks of various host controllers. It definitely does not belong in > usbcore. Agreed, this is specific to TI's host controllers. > 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. Alright. --- Dwight Schauer Texas Instruments, Inc. -- 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