RE: [PATCH 0/2] Mark USB4 controllers as is_thunderbolt

Deucher, Alexander
2022-02-07T15:25:43Z

[Public]

> -----Original Message-----
> From: Mika Westerberg <mika.westerberg@linux.intel.com>
> Sent: Monday, February 7, 2022 1:42 AM
> To: Limonciello, Mario <Mario.Limonciello@amd.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>; Andreas Noever
> <andreas.noever@gmail.com>; open list:PCI SUBSYSTEM <linux-
> pci@vger.kernel.org>; open list:THUNDERBOLT DRIVER <linux-
> usb@vger.kernel.org>; Michael Jamet <michael.jamet@intel.com>; Yehezkel
> Bernat <YehezkelShB@gmail.com>; Deucher, Alexander
> <Alexander.Deucher@amd.com>
> Subject: Re: [PATCH 0/2] Mark USB4 controllers as is_thunderbolt
>
> Hi Mario,
>
> On Fri, Feb 04, 2022 at 12:28:18PM -0600, Mario Limonciello wrote:
> > Various drivers in the kernel use `pci_is_thunderbolt_attached` to
> > designate behaving differently from a device that is internally in the
> > machine. This function relies upon the `is_thunderbolt` designation
> > which checks for a specific capability only set on Intel controllers.
> >
> > Non-Intel USB4 designs should also match this designation so that they
> > can be treated the same regardless of the host they're connected to.
>
> Not objecting this if really needed but since USB4 is supposed to be
> transparent to the native (tunneled) protocol, I would rather try to figure out
> if there is really need to change driver behaviour whether it is connected
> over USB4 or plugged natively on the PCIe slot.
>
> Can you elaborate a bit what kind of functionality needs this? Perhaps we can
> figure a better alternative?

In the AMD GPU driver we use it to determine which dGPU is built into a platform vs. externally connected since the internal one uses ACPI for certain things and the external one does not. There are probably other ways to determine this, but it's not in place at the moment.

Alex