Re: [PATCH v2 6/9] PCI: Rename is_thunderbolt to is_tunneled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/5/2023 11:39, Lukas Wunner wrote:
On Fri, Nov 03, 2023 at 02:07:55PM -0500, Mario Limonciello wrote:
The `is_thunderbolt` bit has been used to indicate that a PCIe device
contained the Intel VSEC which is used by various parts of the kernel
to change behavior. To later allow usage with USB4 controllers as well,
rename this to `is_tunneled`.

This doesn't seem to make sense.  is_thunderbolt indicates that a device
is part of a Thunderbolt controller.  See the code comment:

-	unsigned int	is_thunderbolt:1;	/* Thunderbolt controller */

A Thunderbolt controller is not necessarily tunneled.  The PCIe switch,
NHI and XHCI of the Thunderbolt host controller are not tunneled at all.

Thanks,

Lukas

I could really use some clarification which PCIe devices actually contain the Intel VSEC.

Is it in all 3 of those PCIe devices and not just the switch?

If so, I think I would rather introduce a separate bit. So after this series we would have:

is_tunneled:1
is_thunderbolt:1
no_command_complete:1

* TBT1 devices would set no_command_complete
  - The consumer would be pcie_init()
* All devices with the Intel VSEC would set is_thunderbolt and the two consumers would be:
 - apple-gmux.c
 - pci_bridge_d3_possible()
* USB4 devices and PCIe switches with the VSEC would set is_tunneled.




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux