thunderbolt: Remove PNP infoSo it isn't matched by devmatch(8) and automatically loaded. The PNPinfo will be readded once the USB4 driver is more complete.PR: 290827Reported by: fuz, Marco Sie
thunderbolt: Remove PNP infoSo it isn't matched by devmatch(8) and automatically loaded. The PNPinfo will be readded once the USB4 driver is more complete.PR: 290827Reported by: fuz, Marco Siedentopf <siedentm@me.com>Fixes: 2ed9833791f2 (thunderbolt: Import USB4 code)Sponsored by: The FreeBSD Foundation
show more ...
tb_pci: Don't try to attach to PCI buses that aren't below a PCI-PCI brigeThis driver is a subclass of the normal PCI bus driver that isintended to be used for the logical child bus of a Thunderbo
tb_pci: Don't try to attach to PCI buses that aren't below a PCI-PCI brigeThis driver is a subclass of the normal PCI bus driver that isintended to be used for the logical child bus of a Thunderbolt PCI-PCIbridge device. To determine if a given PCI bus's parent is a TBbridge, it examines the PCI device IDs of the parent pcibX device.However, this only works for pcibX devices that are actual PCI-PCIbridges and panics for PCI buses that are children of host bridgessuch as the pci0 child of pcib0.Probably this should not be reading device IDs (as that doesn't tellyou if the device driver for the PCI-PCI bridge is actually a TBdriver). Instead, the TB PCI-PCI driver should be exporting a newIVAR (with a globally unique number as we do for ACPI handles) thatreturns the TB generation and the probe routine for this PCI busdriver should be checking for that IVAR (the way acpi_pci.c checks forthe presence of an ACPI handle).This fixes a panic on boot if tb.ko is loaded at boot time (which thedriver recommends for certain chipsets).Reviewed by: impDifferential Revision: https://reviews.freebsd.org/D53202
nhi: Fix a race with interrupt teardown during detachWhen nhi fails to attach on one of my systems (X1 Carbon 6th gen), aninterrupt races with the teardown code such that the rings have beenfreed
nhi: Fix a race with interrupt teardown during detachWhen nhi fails to attach on one of my systems (X1 Carbon 6th gen), aninterrupt races with the teardown code such that the rings have beenfreed by nhi_detach() before an interrupt triggers. At the time ofthe crash, the thread invoking nhi_attach() is blocked inbus_teardown_intr() from nhi_pci_free() waiting for the interruptthread to finish executing the handler.To fix, don't just disable the interrupts in nhi_detach(), butactually tear the handlers down and disable MSI-X before freeing therings.Reviewed by: obiwacDifferential Revision: https://reviews.freebsd.org/D53201
thunderbolt: Import USB4 codeAdd initial USB4 code written by Scott Long and originally passed on toHPS (source: https://github.com/hselasky/usb4), minus the ICM code andwith some small fixes.F
thunderbolt: Import USB4 codeAdd initial USB4 code written by Scott Long and originally passed on toHPS (source: https://github.com/hselasky/usb4), minus the ICM code andwith some small fixes.For context, older TB chips implemented the connection manager infirmware (ICM) instead of in the OS (HCM), but maintaining the ICM codewould be a huge burden for not many chips.Mostly completed work:- Debug/trace framework.- NHI controller driver.- PCIe bridge driver.- Router and config space layer handling (just reading in this commit).Link to the email where Scott shared details about the initial USB4work:https://lists.freebsd.org/archives/freebsd-hackers/2024-July/003411.htmlGlanced at by: emaste, impSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D49450Event: EuroBSDcon 2025