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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 1/7/2025 6:49 PM, Johan Hovold wrote:
On Mon, Nov 11, 2024 at 02:11:53PM +0530, Krishna chaitanya chundru wrote:
The Controller driver is the parent device of the PCIe host bridge,
PCI-PCI bridge and PCIe endpoint as shown below.

         PCIe controller(Top level parent & parent of host bridge)
                         |
                         v
         PCIe Host bridge(Parent of PCI-PCI bridge)
                         |
                         v
         PCI-PCI bridge(Parent of endpoint driver)
                         |
                         v
                 PCIe endpoint driver

Now, when the controller device goes to runtime suspend, PM framework
will check the runtime PM state of the child device (host bridge) and
will find it to be disabled. So it will allow the parent (controller
device) to go to runtime suspend. Only if the child device's state was
'active' it will prevent the parent to get suspended.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
Signed-off-by: Krishna chaitanya chundru <quic_krichai@xxxxxxxxxxx>

@@ -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:

Hi Johan,

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.

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

I believe this is not causing any functional issues.
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.

- Krishna Chaitanya.
Reverting dc421bb3c0db ("PCI: Enable runtime PM of the host bridge")
makes the warning go away.

Johan


#regzbot introduced: dc421bb3c0db




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux