Re: [BUG] ASUS ProArt PX13 HN7306WU: amd_pmc s2idle S0ix corrupts AMD 1022:150b root port, NVIDIA dGPU returns header type 7f

From: Lukas Wunner

Date: Sun Apr 05 2026 - 03:17:26 EST


On Fri, Apr 03, 2026 at 04:28:23PM -0500, Mario Limonciello wrote:
> On 4/3/26 4:05 PM, Mario Limonciello wrote:
> > Thanks - the most obvious observation is what you already noted -
> > without hotplug support the root port skips PM all together.
> >
> > [24.575705] pcieport 0000:00:01.2: PCI PM: Suspend power state: D0
> > [24.575707] pcieport 0000:00:01.2: PCI PM: Skipped
> > [24.575709] pcieport 0000:00:01.1: PCI PM: Suspend power state: D0
> > [24.575709] pcieport 0000:00:01.1: PCI PM: Skipped
> >
> > vs
> >
> > [29.279987] pcieport 0000:00:01.1: power state changed by ACPI to D3cold
> > [29.279991] pcieport 0000:00:01.1: PCI PM: Suspend power state: D3cold
> > [29.280214] pcieport 0000:00:01.2: power state changed by ACPI to D3cold
> > [29.280219] pcieport 0000:00:01.2: PCI PM: Suspend power state: D3cold

Those are different Root Ports than 0000:00:03.1.

> > The hotplug support seems to apply to 3 ports.
[...]
> > 0000:00:03.1 (Bus c4):
> > - Slot Capabilities: 0x000425e0
> > - Flags: HotPlug+ Surprise+ LLActRep+
[...]
> OK - so the issue comes from acpi_pci_bridge_d3() which is called from
> platform_pci_bridge_d3():
>
> if (acpi_pci_disabled || !dev->is_pciehp)
> return false;

Also not relevant, the is_pciehp flag is true because of the
set HotPlug+ bit in the Slot Capabilities Register, so the check
doesn't evaluate to true and the function doesn't return here.

Thanks,

Lukas