From 58a8ad1661ab0fd869bcbc955010717c011951b0 Mon Sep 17 00:00:00 2001 From: Raul E Rangel Date: Thu, 18 Feb 2021 16:36:08 -0700 Subject: soc/amd: Move root complex SSDT TOM1/TOM2 generation function This will also be used for cezanne. Stoney also has a similar function, but it hard codes the scope path. I didn't have a device setup to test if switching to this function was a no-op. So I left it. TOM2 isn't used by any ASL, so we could remove it later. Signed-off-by: Raul E Rangel Change-Id: I7c8f476a7735fea61a3244b97988e3ead3b42e79 Reviewed-on: https://review.coreboot.org/c/coreboot/+/50892 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: Felix Held --- src/soc/amd/picasso/root_complex.c | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) (limited to 'src/soc/amd/picasso') diff --git a/src/soc/amd/picasso/root_complex.c b/src/soc/amd/picasso/root_complex.c index ee9764cb7d..c954701f74 100644 --- a/src/soc/amd/picasso/root_complex.c +++ b/src/soc/amd/picasso/root_complex.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include +#include #include #include #include @@ -8,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -241,31 +241,9 @@ static void acipgen_dptci(void) acpigen_pop_len(); /* Scope \_SB */ } -/* Used by \_SB.PCI0._CRS */ static void root_complex_fill_ssdt(const struct device *device) { - msr_t msr; - const char *scope; - - assert(device); - - scope = acpi_device_scope(device); - assert(scope); - acpigen_write_scope(scope); - - msr = rdmsr(TOP_MEM); - acpigen_write_name_dword("TOM1", msr.lo); - msr = rdmsr(TOP_MEM2); - /* - * Since XP only implements parts of ACPI 2.0, we can't use a qword - * here. - * See http://www.acpi.info/presentations/S01USMOBS169_OS%2520new.ppt - * slide 22ff. - * Shift value right by 20 bit to make it fit into 32bit, - * giving us 1MB granularity and a limit of almost 4Exabyte of memory. - */ - acpigen_write_name_dword("TOM2", (msr.hi << 12) | msr.lo >> 20); - acpigen_pop_len(); + acpi_fill_root_complex_tom(device); acipgen_dptci(); } -- cgit v1.2.3