public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] PCI: Solve two bridge window sizing issues
@ 2024-05-07 10:25 Ilpo Järvinen
  2024-05-07 10:25 ` [PATCH v3 1/8] PCI: Fix resource double counting on remove & rescan Ilpo Järvinen
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Ilpo Järvinen @ 2024-05-07 10:25 UTC (permalink / raw)
  To: linux-pci, Bjorn Helgaas, Lorenzo Pieralisi, Rob Herring,
	Krzysztof Wilczyński, Igor Mammedov, Mika Westerberg,
	Andy Shevchenko, Rafael J . Wysocki, Jonathan Cameron
  Cc: linux-kernel, Ilpo Järvinen

Hi all,

Here's a series that contains two fixes to PCI bridge window sizing
algorithm. Together, they should enable remove & rescan cycle to work
for a PCI bus that has PCI devices with optional resources and/or
disparity in BAR sizes.

For the second fix, I chose to expose find_resource_space() from
kernel/resource.c because it should increase accuracy of the cannot-fit
decision (currently that function is called find_resource()). In order
to do that sensibly, a few improvements seemed in order to make its
interface and name of the function sane before exposing it. Thus, the
few extra patches on resource side.

v3:
- Removed "slot" wording
        - Renamed find_empty_resource_slot() -> find_resource_space()
- find_resource_space() returns bool instead of int
- Added patch to convert literal 20 related to bridge win minimum
  alignment to __ffs(SZ_1M)
- Fixed kerneldoc missing "struct"
- Tweaked prints (one dbg -> info, added new dbg one for success case)
- Changelog tweaks
        - Take account largest >> 1 (in alignment calc)
        - Adjust to minor changes made into calculate_memsize()
        - Take logs from more recent kernel to get rid of reg 0xXX

v2:
- Add "typedef" to kerneldoc to get correct formatting
- Use RESOURCE_SIZE_MAX instead of literal
- Remove unnecessary checks for io{port/mem}_resource
- Apply a few style tweaks from Andy

Ilpo Järvinen (8):
  PCI: Fix resource double counting on remove & rescan
  resource: Rename find_resource() to find_resource_space()
  resource: Document find_resource_space() and resource_constraint
  resource: Use typedef for alignf callback
  resource: Handle simple alignment inside __find_resource_space()
  resource: Export find_resource_space()
  PCI: Make minimum bridge window alignment reference more obvious
  PCI: Relax bridge window tail sizing rules

 drivers/pci/bus.c       | 10 +----
 drivers/pci/setup-bus.c | 91 +++++++++++++++++++++++++++++++++++++----
 include/linux/ioport.h  | 44 ++++++++++++++++++--
 include/linux/pci.h     |  5 +--
 kernel/resource.c       | 68 ++++++++++++++----------------
 5 files changed, 157 insertions(+), 61 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-06-11 23:12 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-07 10:25 [PATCH v3 0/8] PCI: Solve two bridge window sizing issues Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 1/8] PCI: Fix resource double counting on remove & rescan Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 2/8] resource: Rename find_resource() to find_resource_space() Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 3/8] resource: Document find_resource_space() and resource_constraint Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 4/8] resource: Use typedef for alignf callback Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 5/8] resource: Handle simple alignment inside __find_resource_space() Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 6/8] resource: Export find_resource_space() Ilpo Järvinen
2024-05-07 10:25 ` [PATCH v3 7/8] PCI: Make minimum bridge window alignment reference more obvious Ilpo Järvinen
2024-05-07 10:36   ` Mika Westerberg
2024-05-07 10:50     ` Ilpo Järvinen
2024-05-07 14:01   ` Andy Shevchenko
2024-05-07 10:25 ` [PATCH v3 8/8] PCI: Relax bridge window tail sizing rules Ilpo Järvinen
2024-05-07 13:49   ` Andy Shevchenko
2024-05-28 13:10 ` [PATCH v3 0/8] PCI: Solve two bridge window sizing issues Ilpo Järvinen
2024-06-11 23:12   ` Bjorn Helgaas
2024-06-11 23:12 ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox