Re: [PATCH 1/2] usb: xhci: add relaxed timing quirk bit
From: Adam Wallis <hidden>
Date: 2017-11-22 23:32:43
Also in:
linux-arm-kernel
On 11/22/2017 10:24 AM, Mathias Nyman wrote: [..]
We know have at least two hosts/platforms that need custom interrupt moderation values How about adding a u32 device property for xhci with the interrupt moderation interval in nanoseconds? And also add a u32 imod_interval variable to struct xhci_hcd? imod_interval can be set to the current default 40000ns (160*250ns) and overwritten if device_property_read_u32() returns something else.
Isn't the 160 value quite aggressive anyway? Section 5.5.2.2 of the xHCI spec says that maximum observable interrupt rate should never exceed 8000 interrupts/second. I believe the IMOD value in the most aggressive case would then be 500 by this statement [ 1 / (250e-9 * 500) = 8000 irqs/second ] Perhaps I am misreading the spec or just doing the math wrong? With the default value of 160, we are interrupting 25,000 irq/second...which is over 3 times the maximum stated value (again, assuming I did the math right) Anyway, my preference would be to set the IMOD default val to 4000 (~1ms) per the recommended value in Table 49 of the spec and allow platforms to adjust as necessary from that point. Thoughts on this?
XHCI_MTK_HOST could then use whatever preferred device propery interval value, and we can get rid of using XHCI_MTK_HOST quirk flag when setting up the IMODI -Mathias -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Adam -- Adam Wallis Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html