summarylogtreecommitdiffstats
path: root/sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch
diff options
context:
space:
mode:
authordragonn2021-09-18 10:01:44 +0200
committerdragonn2021-09-18 10:01:44 +0200
commit825d71ed713c470164cb24131dd6af6fcb19664e (patch)
tree2422ae50eb0bf5fec3e80d533425293bf1a57730 /sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch
parent8f5e12722e0aa4ead0854037a38ff6dbb1981a6b (diff)
downloadaur-825d71ed713c470164cb24131dd6af6fcb19664e.tar.gz
5.14.5
Diffstat (limited to 'sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch')
-rw-r--r--sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch128
1 files changed, 0 insertions, 128 deletions
diff --git a/sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch b/sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch
deleted file mode 100644
index 6e0bb2b3c4d2..000000000000
--- a/sys-kernel_arch-sources-g14_files-9007-s2idle-call-multiple-methods-test.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 00e5506bbaa3259a5e9ac98106dcfc60b1adecab Mon Sep 17 00:00:00 2001
-From: Mario Limonciello <mario.limonciello@amd.com>
-Date: Tue, 31 Aug 2021 11:36:19 -0500
-Subject: [PATCH] ACPI: PM: s2idle: Run both AMD and Microsoft methods if both
- are supported
-
-It was reported that on "HP ENVY x360" that power LED does not come back
-on, certain keys like brightness controls do not work, and the fan never
-spins up, even under load.
-
-In analysis of the SSDT it's clear that the Microsoft UUID doesn't provide
-functional support, but rather the AMD UUID should be supporting this
-system.
-
-Because this is a gap in the expected logic, confirmation with internal
-team is that AMD uPEP *does* run even when Microsoft UUID present, but
-most OEM systems have adopted value of "0x3" for supported functions and
-hence nothing runs.
-
-Henceforth add support for running both Microsoft and AMD methods. This
-approach will also allow the same logic on Intel systems if desired at a
-future time as well by pulling the evaluation of
-`lps0_dsm_func_mask_microsoft` out of the if block for
-`acpi_s2idle_vendor_amd`.
-
-BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1691
-Reported-by: Maxwell Beck <max@ryt.one>
-Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
----
- drivers/acpi/x86/s2idle.c | 67 +++++++++++++++++++++++----------------
- 1 file changed, 39 insertions(+), 28 deletions(-)
-
-diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
-index 3a308461246a..7d1976e5dd8b 100644
---- a/drivers/acpi/x86/s2idle.c
-+++ b/drivers/acpi/x86/s2idle.c
-@@ -449,25 +449,30 @@ int acpi_s2idle_prepare_late(void)
- if (pm_debug_messages_on)
- lpi_check_constraints();
-
-- if (lps0_dsm_func_mask_microsoft > 0) {
-+ /* screen off */
-+ if (lps0_dsm_func_mask > 0)
-+ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ?
-+ ACPI_LPS0_SCREEN_OFF_AMD :
-+ ACPI_LPS0_SCREEN_OFF,
-+ lps0_dsm_func_mask, lps0_dsm_guid);
-+
-+ if (lps0_dsm_func_mask_microsoft > 0)
- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF,
- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_ENTRY,
-- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-+
-+ /* lps0 entry */
-+ if (lps0_dsm_func_mask > 0)
-+ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ?
-+ ACPI_LPS0_ENTRY_AMD :
-+ ACPI_LPS0_ENTRY,
-+ lps0_dsm_func_mask, lps0_dsm_guid);
-+ if (lps0_dsm_func_mask_microsoft > 0) {
- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY,
- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-- } else if (acpi_s2idle_vendor_amd()) {
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-- } else {
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-+ /* modern standby entry */
-+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_ENTRY,
-+ lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
- }
--
- return 0;
- }
-
-@@ -476,24 +481,30 @@ void acpi_s2idle_restore_early(void)
- if (!lps0_device_handle || sleep_no_lps0)
- return;
-
-- if (lps0_dsm_func_mask_microsoft > 0) {
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT,
-- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-+ /* mdoern standby exit */
-+ if (lps0_dsm_func_mask_microsoft > 0)
- acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_EXIT,
- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON,
-- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-- } else if (acpi_s2idle_vendor_amd()) {
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-- } else {
-+
-+ /* lps0 exit */
-+ if (lps0_dsm_func_mask > 0)
-+ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ?
-+ ACPI_LPS0_EXIT_AMD :
-+ ACPI_LPS0_EXIT,
-+ lps0_dsm_func_mask, lps0_dsm_guid);
-+ if (lps0_dsm_func_mask_microsoft > 0)
- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-+ lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-+
-+ /* screen on */
-+ if (lps0_dsm_func_mask_microsoft > 0)
- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON,
-- lps0_dsm_func_mask, lps0_dsm_guid);
-- }
-+ lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft);
-+ if (lps0_dsm_func_mask > 0)
-+ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ?
-+ ACPI_LPS0_SCREEN_ON_AMD :
-+ ACPI_LPS0_SCREEN_ON,
-+ lps0_dsm_func_mask, lps0_dsm_guid);
- }
-
- static const struct platform_s2idle_ops acpi_s2idle_ops_lps0 = {
---
-GitLab