Page MenuHomeFreeBSD

usb: Add support for SSPlus isochronous companion descriptor
Needs ReviewPublic

Authored by aokblast on Sep 1 2025, 3:58 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Oct 13, 5:22 AM
Unknown Object (File)
Sun, Oct 12, 4:39 AM
Unknown Object (File)
Fri, Oct 10, 3:58 PM
Unknown Object (File)
Fri, Oct 10, 3:29 AM
Unknown Object (File)
Fri, Oct 10, 3:29 AM
Unknown Object (File)
Thu, Oct 9, 10:27 PM
Unknown Object (File)
Sat, Oct 4, 7:41 PM
Unknown Object (File)
Wed, Sep 24, 1:10 AM

Details

Reviewers
markj
lwhsu
Group Reviewers
USB
Summary

Support for SuperSpeedPlus (SSPlus) isochronous transfers includes a new
descriptor to allow devices to advertise higher burst sizes.
This patch adds parsing for that descriptor. For the xHCI driver,
we primarily need to use the mult field, which is required when configuring
the PORTSC register.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 66741
Build 63624: arc lint + arc unit

Event Timeline

sys/dev/usb/controller/xhci.c
2025
2034
sys/dev/usb/controller/xhci.c
2020
2329

Do we need to widen the max_{packet,frame} size to uint32_t here?

2527

Please pre-compute this value and save it in a local variable.

sys/dev/usb/usb_device.c
92

These lines are too long.

sys/dev/usb/usb_parse.c
260
284

What is "ss comp"?

sys/dev/usb/usb_transfer.c
28

Why is this not <dev/usb/usb_endian.h>? It should also be grouped with other dev/usb includes.

440

Better would be to lift this calculation into a local variable or a subroutine. It's not really readable.