Thread (15 messages) 15 messages, 2 authors, 5d ago

Re: [PATCH 10/11] PCI: Lower bound bridge window alignment

From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2026-06-12 14:12:44
Also in: linux-pci, lkml

On Fri, Jun 12, 2026 at 02:50:17PM +0300, Ilpo Järvinen wrote:
On Wed, 29 Apr 2026, Ilpo Järvinen wrote:
quoted
pci_resource_alignment() does not consider bridge windows special,
yet their alignment is subject to different requirements from BAR
alignment.

Add lower bound to bridge window alignment to help callers out to
always have large enough alignment.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Hi Bjorn,

Could you please pull this change and the subsequent one, the commits in 
pci/resource:

ae09d28ecbbc ("PCI: Lower bound bridge window alignment")
cf996b886675 ("PCI: Return valid alignment for assigned resources")
Sure, I dropped these two patches from pci/resource.  The rest are
still heading to v7.2.  Thanks!
The rest of the changes in this series seem okay and can proceed if you're 
okay with keeping a partial series.

The reason for this request is the dev->bus vs dev->subordinate issue 
sashiko mentioned in its review.

I've tried to come up with a solution to that but it has become so ugly
I have not been very happy with it. Maybe there's no other way but the 
problem boils down with pci_min_window_alignment() having to be capable of 
dealing two cases, each lacking one of the key pointers (bus or bridge 
dev):

1) root bus without bus->self
2) bridge without a subordinate bus struct (if subordinate bus' alloc 
   failed)

Only way to solve that I could think of is passing both the bus and the 
bridge device to pci_min_window_alignment() and the related arch side 
function pcibios_window_alignment(). The ugliest parts then involve 
getting a bus pointer compatible with both of those cases, like this:

	struct pci_controller *phb = pci_bus_to_host(bus ? bus : bridge->bus);

But it's too late in the cycle now to try even that, IMO, so better to 
wait to the next cycle.

-- 
 i.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help