The policy for whether PCI bridges are allowed to select D3 is dictated by empirical results that are enumerated into pci_bridge_d3_possible(). In Windows this behaves differently in that Windows internal policy is not used for devices when a power engine plugin driver provided by the SOC vendor is installed. This driver is used to decide the policy in those cases. This series implements a system that lets drivers register such a policy control as well. It isn't activated for any SOCs by default. This is heavily leveraged from the work in [1] [1] https://lore.kernel.org/platform-driver-x86/20230906184354.45846-1-mario.limonciello@xxxxxxx/ v1->v2: * Pick up tags * Rebase on v6.7-rc4 Mario Limonciello (4): PCI: Make d3cold_allowed sysfs attribute read only PCI: Refresh root ports in pci_bridge_d3_update() ACPI: x86: s2idle: Export symbol for fetching constraints for module use platform/x86/amd: pmc: Add support for using constraints to decide D3 policy Documentation/ABI/testing/sysfs-bus-pci | 4 +- drivers/acpi/x86/s2idle.c | 1 + drivers/pci/pci-acpi.c | 2 +- drivers/pci/pci-sysfs.c | 14 +----- drivers/pci/pci.c | 12 ++++-- drivers/platform/x86/amd/pmc/pmc.c | 57 +++++++++++++++++++++++++ include/linux/pci.h | 1 - 7 files changed, 72 insertions(+), 19 deletions(-) base-commit: 33cc938e65a98f1d29d0a18403dbbee050dcad9a -- 2.34.1