summaryrefslogtreecommitdiff
path: root/SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch')
-rw-r--r--SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch150
1 files changed, 81 insertions, 69 deletions
diff --git a/SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch b/SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch
index 70be906..4c8a1c5 100644
--- a/SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch
+++ b/SOURCES/v3-1-7-acpi-x86-s2idle-Move-_HID-handling-for-AMD-systems-into-structures.patch
@@ -1,12 +1,8 @@
----
- drivers/acpi/x86/s2idle.c | 63 ++++++++++++++++++++++++++++-----------
- 1 file changed, 46 insertions(+), 17 deletions(-)
-
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
-index f9ac12b778e6..a7757551f750 100644
+index e10394b847af..c9ee30627b6c 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
-@@ -363,6 +363,39 @@ static int validate_dsm(acpi_handle handle, const char *uuid, int rev, guid_t *d
+@@ -369,6 +369,39 @@ static int validate_dsm(acpi_handle handle, const char *uuid, int rev, guid_t *d
return ret;
}
@@ -46,7 +42,11 @@ index f9ac12b778e6..a7757551f750 100644
static int lps0_device_attach(struct acpi_device *adev,
const struct acpi_device_id *not_used)
{
-@@ -452,31 +452,27 @@
+diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
+index c9ee30627b6c..2d1ff7796c34 100644
+--- a/drivers/acpi/x86/s2idle.c
++++ b/drivers/acpi/x86/s2idle.c
+@@ -412,31 +412,29 @@ static int lps0_device_attach(struct acpi_device *adev,
return 0;
if (acpi_s2idle_vendor_amd()) {
@@ -72,7 +72,7 @@ index f9ac12b778e6..a7757551f750 100644
+ if (dev_id != NULL)
+ data = (const struct amd_lps0_hid_device_data *) dev_id->driver_data;
+ else
-+ return 0;
++ data = &amd_rembrandt;
+ rev_id = data->rev_id;
lps0_dsm_func_mask = validate_dsm(adev->handle,
ACPI_LPS0_DSM_UUID_AMD, rev_id, &lps0_dsm_guid);
@@ -87,36 +87,12 @@ index f9ac12b778e6..a7757551f750 100644
acpi_handle_debug(adev->handle, "_DSM UUID %s: Adjusted function mask: 0x%x\n",
ACPI_LPS0_DSM_UUID_AMD, lps0_dsm_func_mask);
- } else if (lps0_dsm_func_mask_microsoft > 0 && !strcmp(hid, "AMDI0007")) {
-+ } else if (lps0_dsm_func_mask_microsoft > 0 && data->prefer_amd_guid) {
++ } else if (lps0_dsm_func_mask_microsoft > 0 && data->prefer_amd_guid &&
++ (!strcmp(hid, "AMDI0007") ||
++ !strcmp(hid, "AMDI0008"))) {
lps0_dsm_func_mask_microsoft = -EINVAL;
acpi_handle_debug(adev->handle, "_DSM Using AMD method\n");
}
---
-2.34.1
-
- ---
- drivers/acpi/x86/s2idle.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
-index a7757551f750..a8256e5a0e8a 100644
---- a/drivers/acpi/x86/s2idle.c
-+++ b/drivers/acpi/x86/s2idle.c
-@@ -461,7 +461,7 @@
- if (dev_id != NULL)
- data = (const struct amd_lps0_hid_device_data *) dev_id->driver_data;
- else
-- return 0;
-+ data = &amd_rembrandt;
- rev_id = data->rev_id;
- lps0_dsm_func_mask = validate_dsm(adev->handle,
- ACPI_LPS0_DSM_UUID_AMD, rev_id, &lps0_dsm_guid);
---
-2.34.1
-
- ---
- drivers/acpi/x86/s2idle.c | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index a8256e5a0e8a..a9b0f2b54a1c 100644
@@ -133,8 +109,8 @@ index a8256e5a0e8a..a9b0f2b54a1c 100644
static const struct acpi_device_id lps0_device_ids[] = {
{"PNP0D80", },
{"", },
-@@ -451,6 +451,9 @@
- if (!(acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0))
+@@ -402,6 +406,9 @@ static int lps0_device_attach(struct acpi_device *adev,
+ if (lps0_device_handle)
return 0;
+ lps0_dsm_func_mask_microsoft = validate_dsm(adev->handle,
@@ -143,7 +119,7 @@ index a8256e5a0e8a..a9b0f2b54a1c 100644
if (acpi_s2idle_vendor_amd()) {
static const struct acpi_device_id *dev_id;
const struct amd_lps0_hid_device_data *data;
-@@ -468,14 +468,11 @@
+@@ -416,16 +423,12 @@ static int lps0_device_attach(struct acpi_device *adev,
rev_id = data->rev_id;
lps0_dsm_func_mask = validate_dsm(adev->handle,
ACPI_LPS0_DSM_UUID_AMD, rev_id, &lps0_dsm_guid);
@@ -154,8 +130,10 @@ index a8256e5a0e8a..a9b0f2b54a1c 100644
lps0_dsm_func_mask = (lps0_dsm_func_mask << 1) | 0x1;
acpi_handle_debug(adev->handle, "_DSM UUID %s: Adjusted function mask: 0x%x\n",
ACPI_LPS0_DSM_UUID_AMD, lps0_dsm_func_mask);
-- } else if (lps0_dsm_func_mask_microsoft > 0 && data->prefer_amd_guid) {
-+ } else if (lps0_dsm_func_mask_microsoft > 0 && data->prefer_amd_guid && !prefer_microsoft_guid) {
+ } else if (lps0_dsm_func_mask_microsoft > 0 && data->prefer_amd_guid &&
+- (!strcmp(hid, "AMDI0007") ||
+- !strcmp(hid, "AMDI0008"))) {
++ !prefer_microsoft_guid) {
lps0_dsm_func_mask_microsoft = -EINVAL;
acpi_handle_debug(adev->handle, "_DSM Using AMD method\n");
}
@@ -169,18 +147,8 @@ index a8256e5a0e8a..a9b0f2b54a1c 100644
}
if (lps0_dsm_func_mask < 0 && lps0_dsm_func_mask_microsoft < 0)
---
-2.34.1
-
- ---
-v1->v2:
- * Fixup for __init
----
- drivers/acpi/x86/s2idle.c | 26 +++++++++++++++++++++++++-
- 1 file changed, 25 insertions(+), 1 deletion(-)
-
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
-index a9b0f2b54a1c..9ee734e0c3c5 100644
+index a9b0f2b54a1c..6a2c94fdbeae 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
@@ -17,6 +17,7 @@
@@ -220,21 +188,18 @@ index a9b0f2b54a1c..9ee734e0c3c5 100644
static int lps0_device_attach(struct acpi_device *adev,
const struct acpi_device_id *not_used)
{
-@@ -566,8 +589,9 @@ static const struct platform_s2idle_ops acpi_s2idle_ops_lps0 = {
- .end = acpi_s2idle_end,
- };
+@@ -568,6 +591,7 @@ static const struct platform_s2idle_ops acpi_s2idle_ops_lps0 = {
--void acpi_s2idle_setup(void)
-+void __init acpi_s2idle_setup(void)
+ void acpi_s2idle_setup(void)
{
+ dmi_check_system(s2idle_dmi_table);
acpi_scan_add_handler(&lps0_handler);
s2idle_set_ops(&acpi_s2idle_ops_lps0);
- }
---
-2.34.1
-
- ---
+ }---
+v3-v4:
+ * Absorb tags
+v2->v3:
+ * Absorb tags
v1->v2:
* New patch
---
@@ -242,7 +207,7 @@ v1->v2:
1 file changed, 8 insertions(+)
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
-index 9ee734e0c3c5..4bdc7133d2ea 100644
+index 99eae362de6d..2cd381f6c002 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
@@ -420,6 +420,14 @@ static const struct dmi_system_id s2idle_dmi_table[] __initconst = {
@@ -262,19 +227,23 @@ index 9ee734e0c3c5..4bdc7133d2ea 100644
--
2.34.1
-
- ---
+---
+v3->v4:
+ * Fix URL for one of the bugzilla links
+v2->v3:
+ * Adjust prefix to cover multiple systems
+ * Add another Link tag
v1->v2:
* New patch
---
- drivers/acpi/x86/s2idle.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
+ drivers/acpi/x86/s2idle.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
-index 4bdc7133d2ea..8475a3915812 100644
+index 2cd381f6c002..c811eeed42cd 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
-@@ -428,6 +428,17 @@ static const struct dmi_system_id s2idle_dmi_table[] __initconst = {
+@@ -428,6 +428,29 @@ static const struct dmi_system_id s2idle_dmi_table[] __initconst = {
DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus G14 GA402"),
},
},
@@ -289,10 +258,53 @@ index 4bdc7133d2ea..8475a3915812 100644
+ DMI_MATCH(DMI_PRODUCT_NAME, "82V2"),
+ },
+ },
++ {
++ /*
++ *
++ * Hijacking patch for GV601
++ *
++ */
++ .callback = lps0_prefer_microsoft,
++ .matches = {
++ DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "GV601"),
++ },
++ },
{}
};
--
2.34.1
+---
+v3->v4:
+ * Absorb tag
+v2->v3:
+ * New patch
+---
+ drivers/acpi/x86/s2idle.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
- \ No newline at end of file
+diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
+index c811eeed42cd..eedd21d8a284 100644
+--- a/drivers/acpi/x86/s2idle.c
++++ b/drivers/acpi/x86/s2idle.c
+@@ -440,6 +440,17 @@ static const struct dmi_system_id s2idle_dmi_table[] __initconst = {
+ DMI_MATCH(DMI_PRODUCT_NAME, "82"),
+ },
+ },
++ {
++ /*
++ * ASUSTeK COMPUTER INC. ROG Flow X13 GV301RE_GV301RE
++ * https://gitlab.freedesktop.org/drm/amd/-/issues/2148
++ */
++ .callback = lps0_prefer_microsoft,
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "ROG Flow X13 GV301"),
++ },
++ },
+ {}
+ };
+
+--
+2.34.1