mbox series

[0/6] PCI: Allow for future resource expansion on initial root bus scan

Message ID 20220816100740.68667-1-mika.westerberg@linux.intel.com (mailing list archive)
Headers show
Series PCI: Allow for future resource expansion on initial root bus scan | expand

Message

Mika Westerberg Aug. 16, 2022, 10:07 a.m. UTC
Hi,

The series works around an issue found on some Dell systems where
booting with Thunderbolt/USB4 devices connected the BIOS leaves some of
the PCIe devices unconfigured. If the connected devices that are not
configured have PCIe hotplug ports as well the initial root bus scan
only reserves the minimum amount of resources to them making any
expansion happening later impossible.

We do already distribute the "spare" resources between hotplug ports on
hot-add but we have not done that upon the initial scan. The first three
patches make the initial root bus scan path to do the same.

The additional three patches are just a small cleanups that can be
applied separately too.

The related bug: https://bugzilla.kernel.org/show_bug.cgi?id=216000.

Mika Westerberg (6):
  PCI: Fix used_buses calculation in pci_scan_child_bus_extend()
  PCI: Pass available buses also when the bridge is already configured
  PCI: Distribute available resources for root buses too
  PCI: Remove two unnecessary empty lines in pci_scan_child_bus_extend()
  PCI: Fix typo in pci_scan_child_bus_extend()
  PCI: Fix indentation in pci_bridge_distribute_available_resources()

 drivers/pci/probe.c     |  13 +-
 drivers/pci/setup-bus.c | 290 ++++++++++++++++++++++++----------------
 2 files changed, 181 insertions(+), 122 deletions(-)

Comments

Chris Chiu Aug. 17, 2022, 1:51 a.m. UTC | #1
On Tue, Aug 16, 2022 at 6:07 PM Mika Westerberg
<mika.westerberg@linux.intel.com> wrote:
>
> Hi,
>
> The series works around an issue found on some Dell systems where
> booting with Thunderbolt/USB4 devices connected the BIOS leaves some of
> the PCIe devices unconfigured. If the connected devices that are not
> configured have PCIe hotplug ports as well the initial root bus scan
> only reserves the minimum amount of resources to them making any
> expansion happening later impossible.
>
> We do already distribute the "spare" resources between hotplug ports on
> hot-add but we have not done that upon the initial scan. The first three
> patches make the initial root bus scan path to do the same.
>
> The additional three patches are just a small cleanups that can be
> applied separately too.
>
> The related bug: https://bugzilla.kernel.org/show_bug.cgi?id=216000.
>
> Mika Westerberg (6):
>   PCI: Fix used_buses calculation in pci_scan_child_bus_extend()
>   PCI: Pass available buses also when the bridge is already configured
>   PCI: Distribute available resources for root buses too
>   PCI: Remove two unnecessary empty lines in pci_scan_child_bus_extend()
>   PCI: Fix typo in pci_scan_child_bus_extend()
>   PCI: Fix indentation in pci_bridge_distribute_available_resources()
>
>  drivers/pci/probe.c     |  13 +-
>  drivers/pci/setup-bus.c | 290 ++++++++++++++++++++++++----------------
>  2 files changed, 181 insertions(+), 122 deletions(-)
>
> --
> 2.35.1
>

Tested-by: Chris Chiu <chris.chiu@canonical.com>
Andy Shevchenko Aug. 31, 2022, 2:20 p.m. UTC | #2
On Tue, Aug 16, 2022 at 01:07:34PM +0300, Mika Westerberg wrote:
> Hi,
> 
> The series works around an issue found on some Dell systems where
> booting with Thunderbolt/USB4 devices connected the BIOS leaves some of
> the PCIe devices unconfigured. If the connected devices that are not
> configured have PCIe hotplug ports as well the initial root bus scan
> only reserves the minimum amount of resources to them making any
> expansion happening later impossible.
> 
> We do already distribute the "spare" resources between hotplug ports on
> hot-add but we have not done that upon the initial scan. The first three
> patches make the initial root bus scan path to do the same.
> 
> The additional three patches are just a small cleanups that can be
> applied separately too.
> 
> The related bug: https://bugzilla.kernel.org/show_bug.cgi?id=216000.

With split and squash or not, LGTM,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Mika Westerberg (6):
>   PCI: Fix used_buses calculation in pci_scan_child_bus_extend()
>   PCI: Pass available buses also when the bridge is already configured
>   PCI: Distribute available resources for root buses too
>   PCI: Remove two unnecessary empty lines in pci_scan_child_bus_extend()
>   PCI: Fix typo in pci_scan_child_bus_extend()
>   PCI: Fix indentation in pci_bridge_distribute_available_resources()
> 
>  drivers/pci/probe.c     |  13 +-
>  drivers/pci/setup-bus.c | 290 ++++++++++++++++++++++++----------------
>  2 files changed, 181 insertions(+), 122 deletions(-)
> 
> -- 
> 2.35.1
>
Mika Westerberg Sept. 1, 2022, 5:31 a.m. UTC | #3
On Wed, Aug 31, 2022 at 05:20:14PM +0300, Andy Shevchenko wrote:
> On Tue, Aug 16, 2022 at 01:07:34PM +0300, Mika Westerberg wrote:
> > Hi,
> > 
> > The series works around an issue found on some Dell systems where
> > booting with Thunderbolt/USB4 devices connected the BIOS leaves some of
> > the PCIe devices unconfigured. If the connected devices that are not
> > configured have PCIe hotplug ports as well the initial root bus scan
> > only reserves the minimum amount of resources to them making any
> > expansion happening later impossible.
> > 
> > We do already distribute the "spare" resources between hotplug ports on
> > hot-add but we have not done that upon the initial scan. The first three
> > patches make the initial root bus scan path to do the same.
> > 
> > The additional three patches are just a small cleanups that can be
> > applied separately too.
> > 
> > The related bug: https://bugzilla.kernel.org/show_bug.cgi?id=216000.
> 
> With split and squash or not, LGTM,
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Thanks Andy!

I will do the changes you suggested in v2.