summaryrefslogtreecommitdiff
path: root/src/soc/amd/stoneyridge/acpi.c
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2023-03-07 02:57:54 +0100
committerFelix Held <felix-coreboot@felixheld.de>2023-03-29 16:18:31 +0000
commit3ee7453e0e0892631df0e629cdb93f07ee67e645 (patch)
tree4985572175eb176e60d670f0a2edc309248fbc31 /src/soc/amd/stoneyridge/acpi.c
parent60df7ca07b2c244ce23cd08867683e49e6361f87 (diff)
soc/amd/stoneyridge/acpi: add C state config table
The C state ACPI packages binaryPI generates and passes to coreboot in the PSTATE SSDT only include the C2 state, but the kernel will add the C1 state to its usable C states in this case. The native C state code will generate both the C1 and C2 state packages to be more complete and also to be more in line with the other AMD SoCs. The code added in this commit isn't used yet, but will be used as soon as Stoneyridge will be using the common AMD generate_cpu_entries by selecting SOC_AMD_COMMON_BLOCK_ACPI_CPU_POWER_STATE once all needed helper functions are implemented for Stoneyridge. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I06f90306ac196704e0102d0da6eab03f51513c29 Reviewed-on: https://review.coreboot.org/c/coreboot/+/74001 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
Diffstat (limited to 'src/soc/amd/stoneyridge/acpi.c')
-rw-r--r--src/soc/amd/stoneyridge/acpi.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/soc/amd/stoneyridge/acpi.c b/src/soc/amd/stoneyridge/acpi.c
index d60faafa43..1a264f5a4f 100644
--- a/src/soc/amd/stoneyridge/acpi.c
+++ b/src/soc/amd/stoneyridge/acpi.c
@@ -93,6 +93,25 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
ACPI_FADT_REMOTE_POWER_ON;
}
+const acpi_cstate_t cstate_cfg_table[] = {
+ [0] = {
+ .ctype = 1,
+ .latency = 1,
+ .power = 0,
+ },
+ [1] = {
+ .ctype = 2,
+ .latency = 400,
+ .power = 0,
+ },
+};
+
+const acpi_cstate_t *get_cstate_config_data(size_t *size)
+{
+ *size = ARRAY_SIZE(cstate_cfg_table);
+ return cstate_cfg_table;
+}
+
void generate_cpu_entries(const struct device *device)
{
int cpu;