[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260126173907.GA275525@bhelgaas>
Date: Mon, 26 Jan 2026 11:39:07 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: linux-pci@...r.kernel.org, Bjorn Helgaas <bhelgaas@...gle.com>,
Dominik Brodowski <linux@...inikbrodowski.net>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 00/23] PCI: Resource code fixes (supercedes earlier
series) & cleanups
On Fri, Dec 19, 2025 at 07:40:13PM +0200, Ilpo Järvinen wrote:
> Hi all,
>
> Here's the resource code fixes and cleanups series. The 6 patches (the
> first 5 + 1 cleanup) have been submitted earlier (not yet applied, I've
> closed the patchwork entries for them) but due to a number conflicts
> that could easily ensue if these are applied independently, I had to
> put all these into the same series.
>
> The series consists of:
>
> 1. The first 5 are the most important changes as they relate to
> regressions. These may case shrinkage of bridge windows that
> previous had surplus space beyond the HP reservation size (due to
> sizes inherited from FW). In some HP scenarios the smaller bridge
> window could cause a regression, but this seems a case the pci=hpmm*
> parameters are meant to address.
>
> 2. Followed by cleanups (no functional change intended, excluding the
> extra debug logging added).
>
> 3. Introduction of pbus_mem_size_optional() to avoid the need to handle
> optional resource in a deeply nested loop (rebar awareness changes
> will have to add some code there). Doing all optional calculations
> in one place feels more logical and consistent anyway. There's a
> minor functional change in this change related to bridge windows
> with only optional resources (I don't expect issues because of it).
>
> 4. Separating CardBus bridge setup code to own file + compile it only
> when CONFIG_CARDBUS is set (I'd have wanted to send this separately
> but it seems impractical given that I need to rename the
> pci_dev_resource handling functions when exposing them to another
> file).
>
> Any comments are welcome.
>
>
> Ilpo Järvinen (23):
> PCI: Fix bridge window alignment with optional resources
> PCI: Rewrite bridge window head alignment function
> PCI: Stop over-estimating bridge window size
> resource: Increase MAX_IORES_LEVEL to 8
> PCI: Remove old_size limit from bridge window sizing
> PCI: Push realloc check into pbus_size_mem()
> PCI: Pass bridge window resource to pbus_size_mem()
> PCI: Use res_to_dev_res() in reassign_resources_sorted()
> PCI: Fetch dev_res to local var in __assign_resources_sorted()
> PCI: Add pci_resource_is_bridge_win()
> PCI: Log reset and restore of resources
> PCI: Check invalid align earlier in pbus_size_mem()
> PCI: Add pbus_mem_size_optional() to handle optional sizes
> resource: Mark res given to resource_assigned() as const
> PCI: Use resource_assigned() in setup-bus.c algorithm
> PCI: Properly prefix struct pci_dev_resource handling functions
> PCI: Separate cardbus setup & build it only with CONFIG_CARDBUS
> PCI: Handle CardBus specific params in setup-cardbus.c
> PCI: Use scnprintf() instead of sprintf()
> PCI: Add Bus Number + Secondary Latency Timer as dword fields
> PCI: Convert to use Bus Number field defines
> PCI: Add pbus_validate_busn() for Bus Number validation
> PCI: Move scanbus bridge scanning to setup-cardbus.c
>
> drivers/pci/Makefile | 1 +
> drivers/pci/pci-sysfs.c | 2 +-
> drivers/pci/pci.c | 14 +-
> drivers/pci/pci.h | 49 ++-
> drivers/pci/probe.c | 128 +++----
> drivers/pci/setup-bus.c | 644 ++++++++++++----------------------
> drivers/pci/setup-cardbus.c | 306 ++++++++++++++++
> drivers/pci/setup-res.c | 2 +-
> drivers/pcmcia/yenta_socket.c | 2 +-
> include/linux/ioport.h | 2 +-
> include/linux/pci.h | 6 +-
> include/uapi/linux/pci_regs.h | 5 +
> kernel/resource.c | 2 +-
> 13 files changed, 648 insertions(+), 515 deletions(-)
> create mode 100644 drivers/pci/setup-cardbus.c
Sorry I missed this earlier. I put these on pci/resource, hoping we
can still make it for v6.20 since we have an extra week in the cycle
(two weeks left until v6.19 final).
Powered by blists - more mailing lists