Re: [PATCH v2] PCI: Allow D3 for native Hotplug capable Root Ports on non-x86 platforms

From: Manivannan Sadhasivam

Date: Thu Sep 03 2026 - 01:37:18 EST


On Wed, Sep 02, 2026 at 07:09:58PM +0200, Konrad Dybcio wrote:
> On 8/12/26 1:22 AM, Bjorn Helgaas wrote:
> > On Wed, Jul 29, 2026 at 06:50:05PM +0200, Manivannan Sadhasivam wrote:
> >> Commit eb3b5bf1a88d ("PCI: Whitelist native hotplug ports for runtime D3"),
> >> prevented native Hotplug capable Root Ports from entering D3 citing issues
> >> on old Intel SkyLake Xeon-SP platform.
> >>
> >> But there is no reason to restrict D3 for native Hotplug capable Root
> >> Ports on non-x86 platforms. We recently enabled D3 on non-Hotplug capable
> >> Root Ports on non-x86 platforms (specifically for DT platforms) in commit
> >> a5fb3ff63287 ("PCI: Allow PCI bridges to go to D3Hot on all non-x86"). So
> >> do the same for native Hotplug capable Root Ports as well.
> >>
> >> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>
> >
> > Applied to pci/pm for v7.3, thanks!
>
> This breaks system suspend entry (crashes the system) on Qualcomm SC8280XP
> CRD.. this SoC is known for fragile PCIe.
>

If RP D3 is what breaking the suspend, then the breakage should've been present
between below commits:

a5fb3ff63287 ("PCI: Allow PCI bridges to go to D3Hot on all non-x86")
33a76fc3c3e6 ("PCI: qcom: Advertise Hotplug Slot Capability with no Command Completion support")

First one allowed D3 on all non-x86 platforms and should've broke suspend. Then
second commit enabled Hotplug for RPs, which prevented D3 until *this* patch
landed.

> It doesn't repro on e.g. the Qualcomm Glymur CRD (2 gens newer), perhaps we
> need an explicit opt-out like
>
> if (of_machine_is_compatible("qcom,sc8280xp"))
>
> or some targetted fix inside the qcom driver
>

Will investigate a bit more and come back. Thanks for reporting!

- Mani

--
மணிவண்ணன் சதாசிவம்