Re: [PATCH v7 2/2] PCI: Enable runtime pm of the host bridge

From: Johan Hovold
Date: Tue Jan 07 2025 - 09:30:04 EST


On Tue, Jan 07, 2025 at 07:40:39PM +0530, Krishna Chaitanya Chundru wrote:
> On 1/7/2025 6:49 PM, Johan Hovold wrote:

> >> @@ -3106,6 +3106,17 @@ int pci_host_probe(struct pci_host_bridge *bridge)
> >> pcie_bus_configure_settings(child);
> >>
> >> pci_bus_add_devices(bus);
> >> +
> >> + /*
> >> + * Ensure pm_runtime_enable() is called for the controller drivers,
> >> + * before calling pci_host_probe() as pm frameworks expects if the
> >> + * parent device supports runtime pm then it needs to enabled before
> >> + * child runtime pm.
> >> + */
> >> + pm_runtime_set_active(&bridge->dev);
> >> + pm_runtime_no_callbacks(&bridge->dev);
> >> + devm_pm_runtime_enable(&bridge->dev);
> >> +
> >> return 0;
> >> }
> >> EXPORT_SYMBOL_GPL(pci_host_probe);
> >
> > I just noticed that this change in 6.13-rc1 is causing the following
> > warning on resume from suspend on machines like the Lenovo ThinkPad
> > X13s:

> Can you confirm if you are seeing this issue is seen in the boot-up
> case also. As this part of the code executes only at the boot time and
> will not have effect in resume from suspend.

No, I only see it during resume. And enabling runtime PM can (and in
this case, obviously does) impact system suspend as well.

> > pci0004:00: pcie4: Enabling runtime PM for inactive device with active children

> I believe this is not causing any functional issues.

It still needs to be fixed.

> > which may have unpopulated ports (this laptop SKU does not have a modem).

> Can you confirm if this warning goes away if there is some endpoint
> connected to it.

I don't have anything to connect to the slot in this machine, but this
seems to be the case as I do not see this warning for the populated
slots, nor on the CRD reference design which has a modem on PCIe4.

Johan