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

From: Bjorn Helgaas
Date: Fri Nov 03 2023 - 15:21:11 EST


On Fri, Nov 03, 2023 at 02:07:49PM -0500, Mario Limonciello wrote:
> 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/

Thanks, Mario, I'll look at this soon after v6.7-rc1 (probably Nov
12), so the amdgpu patch should be in mainline by then.

> 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
>