public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] PCI: Solve two bridge window sizing issues
@ 2023-12-28 16:57 Ilpo Järvinen
  2023-12-28 16:57 ` [PATCH v2 1/7] PCI: Fix resource double counting on remove & rescan Ilpo Järvinen
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: Ilpo Järvinen @ 2023-12-28 16:57 UTC (permalink / raw)
  To: linux-pci, Bjorn Helgaas, Lorenzo Pieralisi, Rob Herring,
	Krzysztof Wilczyński, Igor Mammedov, Lukas Wunner,
	Mika Westerberg, Andy Shevchenko, Rafael J . Wysocki
  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_empty_resource_slot() 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.

Unfortunately I don't have a reason to suspect these would help with
the issues related to the currently ongoing resource regression
thread [1].

[1] https://lore.kernel.org/linux-pci/ZXpaNCLiDM+Kv38H@marvin.atrad.com.au/

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 (7):
  PCI: Fix resource double counting on remove & rescan
  resource: Rename find_resource() to find_empty_resource_slot()
  resource: Document find_empty_resource_slot() and resource_constraint
  resource: Use typedef for alignf callback
  resource: Handle simple alignment inside __find_empty_resource_slot()
  resource: Export find_empty_resource_slot()
  PCI: Relax bridge window tail sizing rules

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

-- 
2.30.2


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

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

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-28 16:57 [PATCH v2 0/7] PCI: Solve two bridge window sizing issues Ilpo Järvinen
2023-12-28 16:57 ` [PATCH v2 1/7] PCI: Fix resource double counting on remove & rescan Ilpo Järvinen
2023-12-28 16:57 ` [PATCH v2 2/7] resource: Rename find_resource() to find_empty_resource_slot() Ilpo Järvinen
2024-05-03 20:49   ` Bjorn Helgaas
2024-05-06 12:30     ` Ilpo Järvinen
2023-12-28 16:57 ` [PATCH v2 3/7] resource: Document find_empty_resource_slot() and resource_constraint Ilpo Järvinen
2024-05-03 20:51   ` Bjorn Helgaas
2023-12-28 16:57 ` [PATCH v2 4/7] resource: Use typedef for alignf callback Ilpo Järvinen
2023-12-28 16:57 ` [PATCH v2 5/7] resource: Handle simple alignment inside __find_empty_resource_slot() Ilpo Järvinen
2023-12-28 16:57 ` [PATCH v2 6/7] resource: Export find_empty_resource_slot() Ilpo Järvinen
2023-12-28 16:57 ` [PATCH v2 7/7] PCI: Relax bridge window tail sizing rules Ilpo Järvinen
2024-05-03 20:43   ` Bjorn Helgaas
2024-05-06 11:55     ` Ilpo Järvinen
2023-12-29 12:24 ` [PATCH v2 0/7] PCI: Solve two bridge window sizing issues Mika Westerberg
2024-01-04 12:12 ` Igor Mammedov
2024-01-04 12:18   ` Jonathan Woithe
2024-01-11  8:00     ` Jonathan Woithe
2024-01-18  6:48       ` Jonathan Woithe
2024-01-18  9:27         ` Ilpo Järvinen
2024-01-21 12:54         ` Andy Shevchenko
2024-01-21 22:20           ` Jonathan Woithe
2024-01-22 12:37             ` Ilpo Järvinen
2024-01-22 13:45               ` Igor Mammedov
2024-01-31 22:48                 ` Jonathan Woithe
2024-02-01 14:47                   ` Ilpo Järvinen
2024-03-15 10:33 ` Ilpo Järvinen
2024-03-15 14:39   ` Andy Shevchenko
2024-04-09 14:53 ` Jonathan Cameron
2024-04-11 10:41   ` Ilpo Järvinen
2024-04-11 11:16     ` Andy Shevchenko

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