[Nouveau] [PATCH v2 4/9] PCI: mark USB4 devices as removable

Limonciello, Mario Mario.Limonciello at amd.com
Fri Feb 11 19:36:07 UTC 2022


[Public]



> -----Original Message-----
> From: Mika Westerberg <mika.westerberg at linux.intel.com>
> Sent: Friday, February 11, 2022 04:35
> To: Limonciello, Mario <Mario.Limonciello at amd.com>
> Cc: Bjorn Helgaas <bhelgaas at google.com>; Andreas Noever
> <andreas.noever at gmail.com>; open list:PCI SUBSYSTEM <linux-
> pci at vger.kernel.org>; open list:THUNDERBOLT DRIVER <linux-
> usb at vger.kernel.org>; open list:RADEON and AMDGPU DRM DRIVERS <amd-
> gfx at lists.freedesktop.org>; open list:DRM DRIVERS <dri-
> devel at lists.freedesktop.org>; open list:DRM DRIVER FOR NVIDIA
> GEFORCE/QUADRO GPUS <nouveau at lists.freedesktop.org>; open list:X86
> PLATFORM DRIVERS <platform-driver-x86 at vger.kernel.org>; Michael Jamet
> <michael.jamet at intel.com>; Yehezkel Bernat <YehezkelShB at gmail.com>;
> Lukas Wunner <lukas at wunner.de>; Deucher, Alexander
> <Alexander.Deucher at amd.com>
> Subject: Re: [PATCH v2 4/9] PCI: mark USB4 devices as removable
> 
> Hi Mario,
> 
> On Thu, Feb 10, 2022 at 04:43:24PM -0600, Mario Limonciello wrote:
> > USB4 class devices are also removable like Intel Thunderbolt devices.
> >
> > Drivers of downstream devices use this information to declare functional
> > differences in how the drivers perform by knowing that they are connected
> > to an upstream TBT/USB4 port.
> 
> This may not be covering the integrated controllers. For discrete, yes
> but if it is the PCIe root ports that start the PCIe topology (over the
> PCIe tunnels) this does not work.
> 
> For integrated we have the "usb4-host-interface" ACPI property that
> tells this for each port:
> 
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.mi
> crosoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fpci%2Fdsd-for-pcie-
> root-ports%23mapping-native-protocols-pcie-displayport-tunneled-through-
> usb4-to-usb4-host-
> routers&data=04%7C01%7Cmario.limonciello%40amd.com%7C64e5b663f
> 97b40f4035a08d9ed4a3162%7C3dd8961fe4884e608e11a82d994e183d%7C0%7
> C0%7C637801725176496963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj
> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sd
> ata=7BvPgExVP8Upvi25EEbqH9TacFDZ4zpCEKOfoBJWcxs%3D&reserved=0
> 
> and for discrete there is the PCIe DVSEC that can be used (see the USB4
> spec archive it includes the "USB4 DVSEC Version 1.0.pdf" that has more
> information). I would expect AMD controller (assuming it is discrete)
> implements this too.
> 
> So I'm proposing that we mark the devices that are below  PCIe ports
> (root, downstream) that fall in the above categories as "removable".
> This is then not dependent on checking the USB4 controller and how it is
> setup in a particular system.

Thanks for all of the great suggestions!  I've incorporated them in v3.


More information about the Nouveau mailing list