[PATCH v4 0/3] Fix amdgpu detection of pci=realloc

From: Mario Limonciello

Date: Tue Oct 27 2026 - 12:30:26 EST


amdgpu needs to know the bus number the platform assigned a device to
be able to match firmware images against the right device.

This was previously adjusted to be a soft filter due to
commit 11c141672045f ("drm/amdgpu: Fix VFCT bus number matching with
soft filter") where if everything but the number matched to take a device.

This however fails when there are two identical devices. Instead save the
initial bus number to the PCI device structure and then match that.

Link: https://lore.kernel.org/linux-pci/20261015124843.203905-1-mario.limonciello@xxxxxxx/
Link: https://lore.kernel.org/amd-gfx/20261019194106.2796150-1-alexander.deucher@xxxxxxx/
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
Changes in v4:
- Retain secondary bus bus number for a bridge across rescans, and the child bus is initialized
from it during allocation, before registration callbacks run. (Sashiko)
- Rename variable to clarify it's for bridges (Lijo)
- Link to v3: https://patch.msgid.link/20261026-vfct-regression-v3-0-fe9586ed6978@xxxxxxx

Changes in v3:
- Preserve the firmware bus number across bridge renumbering, capturing the
secondary bus number before pci_scan_bridge_extend() clears it.
- Adjust member name in all patches
- Add tags
- Link to v2: https://patch.msgid.link/20261020-vfct-regression-v2-0-d2394d11450a@xxxxxxx

Changes in v2:
- pci_alloc_dev(NULL) remains safe.
- For buses behind a reassigned bridge, the PCI core now saves the firmware secondary bus
number before clearing the bridge configuration and carries it into the newly allocated bus.
Devices discovered there inherit that original number.
- Add changes for radeon too.
- Link to v1: https://patch.msgid.link/20261019-vfct-regression-v1-0-5a63ddd378dd@xxxxxxx

---
Mario Limonciello (3):
PCI: Preserve the initial bus number in pci_bus
drm/amdgpu: Match VFCT using initial PCI bus number
drm/radeon: Match VFCT using initial PCI bus number

drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 17 +++--------------
drivers/gpu/drm/radeon/radeon_bios.c | 17 +++--------------
drivers/pci/probe.c | 6 ++++++
include/linux/pci.h | 3 +++
4 files changed, 15 insertions(+), 28 deletions(-)
---
base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
change-id: 20261019-vfct-regression-2142fc52852a

Best regards,
--
Mario Limonciello <mario.limonciello@xxxxxxx>