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 (https://bugzilla.kernel.org/show_bug.cgi?id=115321). 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 like http://www.spinics.net/lists/linux-pci/msg52602.html 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 https://lists.freedesktop.org/archives/dri-devel/2016-July/112759.html -- Kind regards, Peter Wu https://lekensteyn.nl