Branch: refs/heads/master Home: https://github.com/tianocore/edk2 Commit: 70db6510d1b40978dcb8877de55bc6915fa1145a https://github.com/tianocore/edk2/commit/70db6510d1b40978dcb8877de55bc6915fa1145a Author: Jack Pham <ja...@qti.qualcomm.com> Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths: M MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c Log Message: ----------- MdeModulePkg/XhciDxe: Refactor endpoint interval calculation Currently the bInterval value must be calculated differently based on whether the endpoint type is isochronous or interrupt, and whether the device is low, full, high or super speed. Plus, this is duplicated for both XhcInitializeEndpointContext() and XhcInitializeEndpointContext64(). To reduce code complexity and duplication, and for future ease of maintenance, factor this logic out to a separate CalculateInterval() helper function. Signed-off-by: Jack Pham <ja...@qti.qualcomm.com> Commit: f1a2bd23337b274dbc79826a07a742604ad26a7a https://github.com/tianocore/edk2/commit/f1a2bd23337b274dbc79826a07a742604ad26a7a Author: Jack Pham <ja...@qti.qualcomm.com> Date: 2025-03-18 (Tue, 18 Mar 2025) Changed paths: M MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c Log Message: ----------- MdeModulePkg/XhciDxe: Adjust out-of-range bInterval values When a USB device is enumerated it will report one or more endpoint descriptors which contains a bInterval field which specifies the interval a host should periodically poll for that particular endpoint when scheduling transfers. But the units this value is expressed in (in whole ms, a power of 2 x 1ms, or a power of 2 x 125us) may differ depending on the speed of the device and whether the endpoint is isochronous or interrupt. Some high/super-speed devices, which are supposed to report isoc/int bInterval as a power of 2 x 125us, incorrectly report full-speed bInterval values (that is, in whole units of ms) in their interrupt endpoint descriptors which results in an assertion error due to being out of range of the spec-expected values. Rather than asserting, try to adjust those assuming they were expressed in units of ms with an upper limit of 128ms. Signed-off-by: Jack Pham <ja...@qti.qualcomm.com> Compare: https://github.com/tianocore/edk2/compare/17cdc512f02a...f1a2bd23337b To unsubscribe from these emails, change your notification settings at https://github.com/tianocore/edk2/settings/notifications _______________________________________________ edk2-commits mailing list edk2-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-commits