[PATCH v2 00/24] PCI: Bridge window selection improvements

Ilpo Järvinen
2025-08-29T13:11:24Z

This series is based on top of the three resource fitting and assignment
algorithm fixes already in the pci/resource branch. I've tried to compare
these patch with the commits in the pci/resource branch to retain the minor
spelling/grammar corrections Bjorn made while applying v1.

v2 is just to fix two small issues within the series intermediate patches.
These corrections attempt to ensure this series is bisectable if
troubleshooting requires that in the future.

In addition, a few corrections to changelog texts were made.

I'm left to wonder though if the added double spaces after some stops
within the commit messages in the pci/resource branch were intentional or
not (I did remove them for v2).

As the changes are very minimal, I'm only sending this to lists and Bjorn
to spare people's inboxes. If somebody provides a Tested-by tag for v1, it
should be counted in for this v2 (v1 vs v2 difference does not matter if
testing the entire series).

v2:
- In pci_bridge_release_resources():
- Keep type assignment in until removing the type hack.
- Introduce res_name in the patch it is used avoid compiler warning
about unused variable. Place it into the block that needs it.
- Minor corrections to changelog texts

Ilpo Järvinen (24):
m68k/PCI: Use pci_enable_resources() in pcibios_enable_device()
sparc/PCI: Remove pcibios_enable_device() as they do nothing extra
MIPS: PCI: Use pci_enable_resources()
PCI: Move find_bus_resource_of_type() earlier
PCI: Refactor find_bus_resource_of_type() logic checks
PCI: Always claim bridge window before its setup
PCI: Disable non-claimed bridge window
PCI: Use pci_release_resource() instead of release_resource()
PCI: Enable bridge even if bridge window fails to assign
PCI: Preserve bridge window resource type flags
PCI: Add defines for bridge window indexing
PCI: Add bridge window selection functions
PCI: Fix finding bridge window in pci_reassign_bridge_resources()
PCI: Warn if bridge window cannot be released when resizing BAR
PCI: Use pbus_select_window() during BAR resize
PCI: Use pbus_select_window_for_type() during IO window sizing
PCI: Rename resource variable from r to res
PCI: Use pbus_select_window() in space available checker
PCI: Use pbus_select_window_for_type() during mem window sizing
PCI: Refactor distributing available memory to use loops
PCI: Refactor remove_dev_resources() to use pbus_select_window()
PCI: Add pci_setup_one_bridge_window()
PCI: Pass bridge window to pci_bus_release_bridge_resources()
PCI: Alter misleading recursion to pci_bus_release_bridge_resources()

arch/m68k/kernel/pcibios.c | 39 +-
arch/mips/pci/pci-legacy.c | 38 +-
arch/sparc/kernel/leon_pci.c | 27 --
arch/sparc/kernel/pci.c | 27 --
arch/sparc/kernel/pcic.c | 27 --
drivers/pci/bus.c | 3 +
drivers/pci/pci-sysfs.c | 27 +-
drivers/pci/pci.h | 8 +-
drivers/pci/probe.c | 35 +-
drivers/pci/setup-bus.c | 798 ++++++++++++++++++-----------------
drivers/pci/setup-res.c | 46 +-
include/linux/pci.h | 5 +-
12 files changed, 504 insertions(+), 576 deletions(-)

base-commit: 295524c65d8b4850efbb809f12176eb1262a5aba
--
2.39.5