Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/53940 )
Change subject: soc/amd/picasso: move acpigen_dptc_call_alib to new common alib ......................................................................
soc/amd/picasso: move acpigen_dptc_call_alib to new common alib
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: Ib0f7da12429b6278d1e4bc5d6650c7ee0f3b5209 --- M src/soc/amd/common/block/acpi/Kconfig M src/soc/amd/common/block/acpi/Makefile.inc A src/soc/amd/common/block/acpi/alib.c M src/soc/amd/common/block/include/amdblocks/alib.h M src/soc/amd/picasso/Kconfig M src/soc/amd/picasso/root_complex.c 6 files changed, 26 insertions(+), 14 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/40/53940/1
diff --git a/src/soc/amd/common/block/acpi/Kconfig b/src/soc/amd/common/block/acpi/Kconfig index 716610e..846db88 100644 --- a/src/soc/amd/common/block/acpi/Kconfig +++ b/src/soc/amd/common/block/acpi/Kconfig @@ -5,5 +5,8 @@ help Select this option to use the AcpiMmio ACPI registers.
+config SOC_AMD_COMMON_BLOCK_ACPI_ALIB + bool + config SOC_AMD_COMMON_BLOCK_ACPI_GPIO bool diff --git a/src/soc/amd/common/block/acpi/Makefile.inc b/src/soc/amd/common/block/acpi/Makefile.inc index e14dba2..9f774d4 100644 --- a/src/soc/amd/common/block/acpi/Makefile.inc +++ b/src/soc/amd/common/block/acpi/Makefile.inc @@ -9,6 +9,7 @@
ramstage-y += pm_state.c ramstage-y += tables.c +ramstage-$(CONFIG_SOC_AMD_COMMON_BLOCK_ACPI_ALIB) += alib.c ramstage-$(CONFIG_SOC_AMD_COMMON_BLOCK_ACPI_GPIO) += gpio.c
endif # CONFIG_SOC_AMD_COMMON_BLOCK_ACPI diff --git a/src/soc/amd/common/block/acpi/alib.c b/src/soc/amd/common/block/acpi/alib.c new file mode 100644 index 0000000..5e1e8fb --- /dev/null +++ b/src/soc/amd/common/block/acpi/alib.c @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <acpi/acpigen.h> +#include <amdblocks/alib.h> +#include <types.h> + +void acpigen_dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size) +{ + /* Name (buf_name, Buffer(size) {...} */ + acpigen_write_name(buf_name); + acpigen_write_byte_buffer(buffer, size); + + /* _SB.ALIB(0xc, buf_name) */ + acpigen_emit_namestring("\_SB.ALIB"); + acpigen_write_integer(ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG); + acpigen_emit_namestring(buf_name); +} diff --git a/src/soc/amd/common/block/include/amdblocks/alib.h b/src/soc/amd/common/block/include/amdblocks/alib.h index 5e92924..b9d34c5 100644 --- a/src/soc/amd/common/block/include/amdblocks/alib.h +++ b/src/soc/amd/common/block/include/amdblocks/alib.h @@ -21,6 +21,8 @@ uint32_t value; } __packed;
+void acpigen_dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size); + #endif /* !__ACPI__ */
#endif /* AMD_COMMON_ALIB_H */ diff --git a/src/soc/amd/picasso/Kconfig b/src/soc/amd/picasso/Kconfig index 2f36f2e..e69fb62 100644 --- a/src/soc/amd/picasso/Kconfig +++ b/src/soc/amd/picasso/Kconfig @@ -28,6 +28,7 @@ select SOC_AMD_COMMON_BLOCK_ACP select SOC_AMD_COMMON_BLOCK_ACPI select SOC_AMD_COMMON_BLOCK_ACPIMMIO + select SOC_AMD_COMMON_BLOCK_ACPI_ALIB select SOC_AMD_COMMON_BLOCK_ACPI_GPIO select SOC_AMD_COMMON_BLOCK_AOAC select SOC_AMD_COMMON_BLOCK_APOB diff --git a/src/soc/amd/picasso/root_complex.c b/src/soc/amd/picasso/root_complex.c index 979da3e..8f79b7a 100644 --- a/src/soc/amd/picasso/root_complex.c +++ b/src/soc/amd/picasso/root_complex.c @@ -177,18 +177,6 @@ setup_ioapic((u8 *)GNB_IO_APIC_ADDR, GNB_IOAPIC_ID); }
-static void dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size) -{ - /* Name (buf_name, Buffer(size) {...} */ - acpigen_write_name(buf_name); - acpigen_write_byte_buffer(buffer, size); - - /* _SB.ALIB(0xc, buf_name) */ - acpigen_emit_namestring("\_SB.ALIB"); - acpigen_write_integer(ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG); - acpigen_emit_namestring(buf_name); -} - static void acipgen_dptci(void) { const struct soc_amd_picasso_config *config = config_of_soc(); @@ -214,13 +202,13 @@ /* If (LEqual ("_SB.PCI0.LPCB.EC0.TBMD", 1)) */ acpigen_write_if_lequal_namestr_int("\_SB.PCI0.LPCB.EC0.TBMD", 1);
- dptc_call_alib("TABB", (uint8_t *)(void *)&tablet_mode_input, + acpigen_dptc_call_alib("TABB", (uint8_t *)(void *)&tablet_mode_input, sizeof(tablet_mode_input));
/* Else */ acpigen_write_else();
- dptc_call_alib("DEFB", (uint8_t *)(void *)&default_input, sizeof(default_input)); + acpigen_dptc_call_alib("DEFB", (uint8_t *)(void *)&default_input, sizeof(default_input));
acpigen_pop_len(); /* Else */