On Thu, Apr 25, 2024 at 05:16:24PM -0400, Esther Shimanovich wrote: > So unless I am misunderstanding something, it appears that my only > option is waiting for Lukas's patches. I've just pushed this branch: https://github.com/l1k/linux/commits/thunderbolt_associate_v1 But it's not even compile-tested yet. 0-day is crunching through it now and I'll force-push if/when fixing bugs. It also doesn't contain support yet for the "Get PCIe Downstream Entry" functionality that's apparently needed for USB4. The branch marks PCIe Downstream Adapters on a Root Switch as fixed and external_facing. However that doesn't appear to be sufficient: I notice that in your patch, you're also clearing the external_facing bit on the Root Port above the discrete host controller. Additionally you're marking the bridges leading to the NHI and XHCI as fixed. You're also marking the NHI and XHCI themselves as fixed and external_facing. I just want to confirm whether all of this is actually necessary. At least marking the NHI and XHCI as external_facing seems nonsensical. I need to know the *minimal* set of attribute changes to fix the problem. I also need to know exactly what the user-visible issue is and how it comes about. Your commit message merely says "the build-in USB-C ports stop working at all". Does that mean that no driver is bound to the NHI or XHCI? The solution implemented by the above-linked branch hinges on the NHI driver fixing up the device attributes. But if the NHI driver is not bound, it can't fix up the attributes. I notice that commit 86eaf4a5b431 ("thunderbolt: Make iommu_dma_protection more accurate") bemoans the inability to determine external_facing ports clearly. The above-linked branch may solve that, so it seems there may be overlap between the issue discussed here and the one that the commit sought to solve. Thanks, Lukas