Page MenuHomeFreeBSD

USB: add quirks to XHCI
ClosedPublic

Authored by bz on Jun 14 2022, 4:45 PM.

Details

Summary

While XHCI is very generic some revisions of chipsets have problems.
On dwc3 <= 3.00a Port Disable does not work so we need to not enable PED.
For that introduce quirks to xhci so that controllers can steer
certain features. I would hope that this is and remains the only one.

Obtained from: an old patch mainly debugging other problems

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

bz requested review of this revision.Jun 14 2022, 4:46 PM
bz added a subscriber: arm64.

Looks good.

sys/dev/usb/controller/xhci.h
572

Usually I've just used uint8_t for quirks, but I'm good with this too.

This revision is now accepted and ready to land.Jun 14 2022, 7:41 PM

Use uint32_t instead of enum for quirks; I am going 32 not 8 just in case to not have to change the type in the future. Hope that's okay too.

This revision now requires review to proceed.Jun 14 2022, 9:27 PM
bz marked an inline comment as done.Jun 14 2022, 9:30 PM
bz added inline comments.
sys/dev/usb/controller/xhci.h
572

Also in addition to the update comment and enum is sizeof(int) so keeping that matching is probably a good idea.

This revision is now accepted and ready to land.Jun 15 2022, 7:10 AM
This revision was automatically updated to reflect the committed changes.
bz marked an inline comment as done.