[PATCH v3 0/7] Improvements to pcie_bandwidth_available() for eGPUs

From: Mario Limonciello
Date: Tue Nov 14 2023 - 15:08:36 EST


The wrong values are reported from pcie_bandwidth_available() which
can cause problems for performance of eGPUs.

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

v2->v3:
* Stop lumping all thunderbolt VSEC and USB4 devices together, introduce
is_virtual_link instead
* Drop unnecessary patches

Mario Limonciello (7):
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: pciehp: Move check for is_thunderbolt into a quirk
PCI: ACPI: Detect PCIe root ports that are used for tunneling
PCI: Split up some logic in pcie_bandwidth_available() to separate
function
PCI: Exclude PCIe ports used for virtual links in
pcie_bandwidth_available()

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 | 77 +++++++++++++++++---------
drivers/pci/quirks.c | 20 +++++++
include/linux/pci.h | 24 +-------
8 files changed, 97 insertions(+), 58 deletions(-)

base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86
--
2.34.1