D3 on PCIe root ports isn't used on Windows systems in Modern Standby. Windows uses a uPEP driver that helps to decide the policy for given ports. This series adjusts the PCI core to allow drivers to register influencing the policy and the amd-pmc driver will register. LPS0 constraints are the basis for it; which if they are added for Windows would also apply for Linux as well. Mario Limonciello (4): ACPI: x86: s2idle: Export symbol for fetching constraints for module use PCI: Add support for drivers to register optin or veto of D3 PCI: Check for changes in pci_bridge_d3_possible() when updating D3 platform/x86/amd: pmc: Report device constraints drivers/acpi/x86/s2idle.c | 1 + drivers/pci/pci.c | 172 +++++++++++++++++++++++++++-- drivers/platform/x86/amd/pmc/pmc.c | 57 ++++++++++ include/linux/pci.h | 9 ++ 4 files changed, 229 insertions(+), 10 deletions(-) -- 2.34.1