ATPX changes in drm-next-4.8 and D3cold handling

Peter Wu peter at
Thu Jul 21 10:42:50 UTC 2016

Hi Alex,

There are a couple of changes for 4.8 that try to detect whether the
"power_cntl" flag is present. Originally attributed to a firmware bug,
it seems that the detection is performed too late resulting in flags
that are always zero
(  What PX platform
are these patches tested with, did they have the same issue?

In case you missed it, Dave's D3cold patches were succeeded by changes
in PCI core. Relevant commits in the pci/pm branch:

    006d44e PCI: Add runtime PM support for PCIe ports
    16468c7 ACPI / hotplug / PCI: Runtime resume bridge before rescan
    d963f65 PCI: Power on bridges before scanning new devices
    9d26d3a PCI: Put PCIe ports into D3 during suspend
    43f7f88 PCI: Don't clear d3cold_allowed for PCIe ports

With these changes, the nouveau driver had to disable use of the _DSM
ACPI method (comparable to ATPX), otherwise both interfaces are used
which could cause issues like being unable to resume the device.
Also note that pcieport currently only handles D3cold for devices with a
BIOS date in 2015 (or newer), you need to detect this with an approach

We also found that the Nvidia HDMI audio device (function 1) would
prevent the pcieport from sleeping. For modern Nvidia hardware this is
apparently not an issue because these somehow hide the audio device, but
it might be an issue for AMD hardware. See also
Kind regards,
Peter Wu

More information about the amd-gfx mailing list