From 95f1bb852525808a7b514745ebe3d19b6d2df7c4 Mon Sep 17 00:00:00 2001 From: Felix Held Date: Fri, 7 May 2021 18:46:36 +0200 Subject: soc/amd: factor out ACPI ALIB function numbers to common code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ACPI ALIB function numbers are defined in the AMD Generic Encapsulated Software Architecture (AGESA™) Interface Specification (document #55483). TEST=Timeless build stays the same for Mandolin (Picasso) and Gardenia (Stoneyridge). Signed-off-by: Felix Held Change-Id: I290ef0db32c65ebb2bbbe4f65db4df772b884161 Reviewed-on: https://review.coreboot.org/c/coreboot/+/53915 Reviewed-by: Raul Rangel Tested-by: build bot (Jenkins) --- src/soc/amd/common/block/include/amdblocks/alib.h | 9 +++++++++ src/soc/amd/picasso/acpi/cpu.asl | 4 +++- src/soc/amd/picasso/root_complex.c | 4 ++-- src/soc/amd/stoneyridge/acpi/sb_pci0_fch.asl | 4 +++- 4 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 src/soc/amd/common/block/include/amdblocks/alib.h diff --git a/src/soc/amd/common/block/include/amdblocks/alib.h b/src/soc/amd/common/block/include/amdblocks/alib.h new file mode 100644 index 0000000000..a59ba8b153 --- /dev/null +++ b/src/soc/amd/common/block/include/amdblocks/alib.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef AMD_COMMON_ALIB_H +#define AMD_COMMON_ALIB_H + +#define ALIB_FUNCTION_REPORT_AC_DC_STATE 0x1 +#define ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG 0xc + +#endif /* AMD_COMMON_ALIB_H */ diff --git a/src/soc/amd/picasso/acpi/cpu.asl b/src/soc/amd/picasso/acpi/cpu.asl index 294d89f481..869602cc27 100644 --- a/src/soc/amd/picasso/acpi/cpu.asl +++ b/src/soc/amd/picasso/acpi/cpu.asl @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include + /* * Wrapper method that calls ALIB function 1 to report current AC/DC state. */ @@ -23,7 +25,7 @@ Method (WAL1) F1DA = \PWRS ^ 1 Printf ("ALIB call: func 1 params %o", Local0) - \_SB.ALIB (1, Local0) + \_SB.ALIB (ALIB_FUNCTION_REPORT_AC_DC_STATE, Local0) } Method (PNOT) diff --git a/src/soc/amd/picasso/root_complex.c b/src/soc/amd/picasso/root_complex.c index 292ee20af8..47b3a43cd3 100644 --- a/src/soc/amd/picasso/root_complex.c +++ b/src/soc/amd/picasso/root_complex.c @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -18,7 +19,6 @@ #include "chip.h" enum { - ALIB_DPTCI_FUNCTION_ID = 0xc, THERMAL_CONTROL_LIMIT_ID = 0x3, SUSTAINED_POWER_LIMIT_PARAM_ID = 0x5, FAST_PPT_LIMIT_PARAM_ID = 0x6, @@ -196,7 +196,7 @@ static void dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size) /* \_SB.ALIB(0xc, buf_name) */ acpigen_emit_namestring("\\_SB.ALIB"); - acpigen_write_integer(ALIB_DPTCI_FUNCTION_ID); + acpigen_write_integer(ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG); acpigen_emit_namestring(buf_name); } diff --git a/src/soc/amd/stoneyridge/acpi/sb_pci0_fch.asl b/src/soc/amd/stoneyridge/acpi/sb_pci0_fch.asl index 4580b772f0..78ce889e5d 100644 --- a/src/soc/amd/stoneyridge/acpi/sb_pci0_fch.asl +++ b/src/soc/amd/stoneyridge/acpi/sb_pci0_fch.asl @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include + External(\_SB.ALIB, MethodObj) /* System Bus */ @@ -142,7 +144,7 @@ Method(_INI, 0, Serialized) { F1SZ = 3 F1DA= \PWRS - \_SB.ALIB(1, F1BF) + \_SB.ALIB(ALIB_FUNCTION_REPORT_AC_DC_STATE, F1BF) } /* End Method(_SB._INI) */ -- cgit v1.2.3