Page MenuHomeFreeBSD

thunderbolt: Support generic USB4 NHIs
Needs ReviewPublic

Authored by obiwac on Oct 2 2025, 3:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Feb 8, 6:28 AM
Unknown Object (File)
Sat, Feb 7, 7:04 PM
Unknown Object (File)
Jan 10 2026, 7:13 PM
Unknown Object (File)
Jan 10 2026, 7:07 AM
Unknown Object (File)
Jan 6 2026, 4:01 AM
Unknown Object (File)
Jan 5 2026, 11:29 PM
Unknown Object (File)
Dec 11 2025, 3:15 PM
Unknown Object (File)
Dec 9 2025, 9:23 PM
Subscribers
None

Details

Summary

Check a PCI device's class, subclass, and progif to figure out if it is
a USB4 NHI. nhi_identifiers is completely removed as only these generic
USB4 NHIs are supported anyway.

Also, remove MODULE_PNP_INFO() for now. Will add this back once
thunderbolt driver is fully functional and tested.

PR: 290827
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 68845
Build 65728: arc lint + arc unit

Event Timeline

obiwac requested review of this revision.Oct 2 2025, 3:49 PM
obiwac created this revision.
obiwac added reviewers: fuz, scottl.

Does this mean all TB3 support will be removed? Is there more to cleanup in that case?

Does this mean all TB3 support will be removed?

as I understood it, USB4 pretty much just standardized existing TB3 controllers, so I guess it would be possible to have a TB3 controller for which a USB4 driver/HCM would work. Not that I know of any such controllers. This is the existing check to set HCM usage, which would maybe imply there are some devices which normally use an ICM but for which a HCM would work:

	if (NHI_IS_USB4(sc) || (sc->force_hcm == NHI_FORCE_HCM_ON))
		sc->caps |= NHI_CAP_HCM;

maybe @scottl could elucidate this

Is there more to cleanup in that case?

yeah, we should anyway also remove all this force_hcm stuff seeing as that's all we're going to support.