[PATCH v2 0/9] Improvements to pcie_bandwidth_available() for eGPUs

Mario Limonciello
2023-11-03T19:08:32Z

Downstream drivers are getting the wrong values from
pcie_bandwidth_available() which is causing problems for performance
of eGPUs.

This series overhauls Thunderbolt related device detection and uses
the changes to change the behavior of pcie_bandwidth_available().

NOTE: This series is currently based on top of v6.6 + this change that
will be merged for 6.7:
Link: https://patchwork.freedesktop.org/patch/564738/

v1->v2:
* Rename is_thunderbolt
* Look for _DSD instead of link
* Drop pci_is_thunderbolt_attached() from all drivers
* Adjust links
* Adjust commit messages
* Add quirk for Tiger Lake

Mario Limonciello (9):
drm/nouveau: Switch from pci_is_thunderbolt_attached() to
dev_is_removable()
drm/radeon: Switch from pci_is_thunderbolt_attached() to
dev_is_removable()
PCI: Drop pci_is_thunderbolt_attached()
PCI: Move the `PCI_CLASS_SERIAL_USB_USB4` definition to common header
PCI: pciehp: Move check for is_thunderbolt into a quirk
PCI: Rename is_thunderbolt to is_tunneled
PCI: ACPI: Detect PCIe root ports that are used for tunneling
PCI: Exclude PCIe ports used for tunneling in
pcie_bandwidth_available()
PCI: Add a quirk to mark 0x8086 : 0x9a23 as supporting PCIe tunneling

drivers/gpu/drm/nouveau/nouveau_vga.c | 6 +-
drivers/gpu/drm/radeon/radeon_device.c | 4 +-
drivers/gpu/drm/radeon/radeon_kms.c | 2 +-
drivers/pci/hotplug/pciehp_hpc.c | 6 +-
drivers/pci/pci-acpi.c | 16 ++++++
drivers/pci/pci.c | 76 +++++++++++++++++---------
drivers/pci/probe.c | 2 +-
drivers/pci/quirks.c | 31 +++++++++++
drivers/platform/x86/apple-gmux.c | 2 +-
drivers/thunderbolt/nhi.h | 2 -
include/linux/pci.h | 25 +--------
include/linux/pci_ids.h | 1 +
12 files changed, 109 insertions(+), 64 deletions(-)

--
2.34.1