[PATCH v10 5/7] ACPI: x86: s2idle: Store if constraint is enabled

Mario Limonciello
2023-08-04T21:02:17Z

Constraints are currently only stored when enabled. To enable
the ability to check if constraints are present they need to be
stored even if disabled.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v9->v10:
* split from other patches
---
drivers/acpi/x86/s2idle.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index 91cd6f8b8ade0..0c8101acc92ef 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
@@ -78,6 +78,7 @@ struct lpi_device_constraint {
struct lpi_constraints {
acpi_handle handle;
int min_dstate;
+ bool enabled;
};

/* AMD Constraint package structure */
@@ -151,8 +152,7 @@ static void lpi_device_get_constraints_amd(void)
}
}

- if (!dev_info.enabled || !dev_info.name ||
- !dev_info.min_dstate)
+ if (!dev_info.name)
continue;

status = acpi_get_handle(NULL, dev_info.name, &list->handle);
@@ -173,6 +173,7 @@ static void lpi_device_get_constraints_amd(void)
"Incomplete constraint defined\n");
continue;
}
+ list->enabled = dev_info.enabled;
lpi_constraints_table_size++;
}
}
@@ -235,7 +236,7 @@ static void lpi_device_get_constraints(void)
}
}

- if (!info.enabled || !info.package || !info.name)
+ if (!info.package || !info.name)
continue;

constraint = &lpi_constraints_table[lpi_constraints_table_size];
@@ -247,7 +248,7 @@ static void lpi_device_get_constraints(void)
acpi_handle_debug(lps0_device_handle,
"index:%d Name:%s\n", i, info.name);

- constraint->min_dstate = -1;
+ constraint->min_dstate = -EINVAL;

for (j = 0; j < package_count; ++j) {
union acpi_object *info_obj = &info.package[j];
@@ -284,7 +285,7 @@ static void lpi_device_get_constraints(void)
"Incomplete constraint defined\n");
continue;
}
-
+ constraint->enabled = info.enabled;
lpi_constraints_table_size++;
}

--
2.34.1