linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v12 0/9] Fix wakeup problems on some AMD platforms
@ 2023-08-16 20:41 Mario Limonciello
  2023-08-16 20:41 ` [PATCH v12 1/9] ACPI: Add comments to clarify some #ifdef statements Mario Limonciello
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Mario Limonciello @ 2023-08-16 20:41 UTC (permalink / raw)
  To: Rafael J . Wysocki, Mika Westerberg, Bjorn Helgaas
  Cc: linux-pci, linux-kernel, Andy Shevchenko, linux-acpi,
	Kuppuswamy Sathyanarayanan, Iain Lane, Shyam-sundar S-k,
	Mario Limonciello

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.

The issue boils down to the currently selected kernel policy for root port
behavior at suspend time:
0) If the machine is from 2015 or later
1) If a PCIe root port is power manageable by the platform then platform
   will be used to determine the power state of the root port at suspend.
2) If the PCIe root is not power manageable by the platform then the kernel
   will check if it was configured to wakeup.
3) If it was, then it will be put into the deepest state that supports
   wakeup from PME.
4) If it wasn't, then it will be put into D3hot.

This patch series adjusts it so that PCI device constraints for low power
idle are considered when the system is put into s2idle.

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

Mario Limonciello (8):
  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: Store if constraint is enabled
  ACPI: x86: s2idle: Enforce LPS0 constraints for PCI devices

 drivers/acpi/x86/s2idle.c | 131 +++++++++++++++++++++++++-------------
 include/linux/acpi.h      |   8 +--
 2 files changed, 90 insertions(+), 49 deletions(-)


base-commit: 2ccdd1b13c591d306f0401d98dedc4bdcd02b421
-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2023-08-17 19:54 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-16 20:41 [PATCH v12 0/9] Fix wakeup problems on some AMD platforms Mario Limonciello
2023-08-16 20:41 ` [PATCH v12 1/9] ACPI: Add comments to clarify some #ifdef statements Mario Limonciello
2023-08-16 22:36   ` Kuppuswamy Sathyanarayanan
2023-08-16 20:41 ` [PATCH v12 2/9] ACPI: Adjust #ifdef for *_lps0_dev use Mario Limonciello
2023-08-16 22:38   ` Kuppuswamy Sathyanarayanan
2023-08-16 20:41 ` [PATCH v12 3/9] ACPI: x86: s2idle: Post-increment variables when getting constraints Mario Limonciello
2023-08-17  2:42   ` Kuppuswamy Sathyanarayanan
2023-08-17 10:10     ` Andy Shevchenko
2023-08-17 15:28       ` Kuppuswamy Sathyanarayanan
2023-08-17 15:52         ` Andy Shevchenko
2023-08-16 20:41 ` [PATCH v12 4/9] ACPI: x86: s2idle: Catch multiple ACPI_TYPE_PACKAGE objects Mario Limonciello
2023-08-16 20:41 ` [PATCH v12 5/9] ACPI: x86: s2idle: Fix a logic error parsing AMD constraints table Mario Limonciello
2023-08-16 20:41 ` [PATCH v12 6/9] ACPI: x86: s2idle: Add more debugging for AMD constraints parsing Mario Limonciello
2023-08-16 20:41 ` [PATCH v12 7/9] ACPI: x86: s2idle: Store if constraint is enabled Mario Limonciello
2023-08-16 20:41 ` [PATCH v12 8/9] ACPI: x86: s2idle: Add for_each_lpi_constraint() helper Mario Limonciello
2023-08-16 20:41 ` [PATCH v12 9/9] ACPI: x86: s2idle: Enforce LPS0 constraints for PCI devices Mario Limonciello
2023-08-17  5:03   ` kernel test robot
2023-08-17 19:25   ` Bjorn Helgaas
2023-08-17 19:30     ` Limonciello, Mario
2023-08-17 19:37       ` Rafael J. Wysocki
2023-08-17 19:40         ` Limonciello, Mario
2023-08-17 19:53           ` Rafael J. Wysocki
2023-08-17 19:31     ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).