[PATCH v13 00/12] Fix wakeup problems on some AMD platforms

From: Mario Limonciello
Date: Fri Aug 18 2023 - 01:17:56 EST


Problems have been reported on AMD laptops with suspend/resume
where particular root ports are put into D3 and then the system is unable
to resume properly.

This is caused by the policy used by the Linux kernel to put PCIe root ports
into D3. This series adjusts the policy to be more conservative and only
put root ports into D3 if the platform has indicated that it is necessary
to do so.

Andy Shevchenko (1):
ACPI: x86: s2idle: Add for_each_lpi_constraint() helper

Mario Limonciello (11):
PCI: Only put Intel PCIe ports >= 2015 into D3
ACPI: Add comments to clarify some #ifdef statements
ACPI: Adjust #ifdef for *_lps0_dev use
ACPI: x86: s2idle: Post-increment variables when getting constraints
ACPI: x86: s2idle: Catch multiple ACPI_TYPE_PACKAGE objects
ACPI: x86: s2idle: Fix a logic error parsing AMD constraints table
ACPI: x86: s2idle: Add more debugging for AMD constraints parsing
ACPI: x86: s2idle: Add a function to get constraints for a device
PCI: ACPI: Add helper functions for converting ACPI <->PCI states
PCI: ACPI: Use device constraints to opt devices into D3 support
PCI: ACPI: Limit the Intel specific opt-in to D3 to 2024

drivers/acpi/x86/s2idle.c | 99 ++++++++++++++++++++++++-------------
drivers/pci/pci-acpi.c | 101 +++++++++++++++++++++++++-------------
drivers/pci/pci.c | 18 ++++++-
drivers/pci/pci.h | 5 ++
include/linux/acpi.h | 14 ++++--
5 files changed, 163 insertions(+), 74 deletions(-)
base-commit: 2ccdd1b13c591d306f0401d98dedc4bdcd02b421
--
2.34.1