From b8c7ea0f697110aae87d1cbd345ffdeab08e8623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Tue, 17 Nov 2020 16:41:38 +0200 Subject: ACPI S3: Replace acpi_is_wakeup() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was supposed to return true for both S2 and S3, but level S2 was never stored in acpi_slp_type or otherwise implemented. Change-Id: Ida0165e647545069c0d42d38b9f45a95e78dacbe Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/47693 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/acpi/acpi.c | 2 +- src/arch/x86/acpi_s3.c | 9 +-------- src/cpu/amd/agesa/family14/model_14_init.c | 2 +- src/cpu/amd/agesa/family15tn/model_15_init.c | 2 +- src/cpu/amd/agesa/family16kb/model_16_init.c | 2 +- src/include/acpi/acpi.h | 2 -- src/lib/hardwaremain.c | 2 +- src/vendorcode/google/chromeos/elog.c | 2 +- 8 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c index 259813bc26..5fb2422cdb 100644 --- a/src/acpi/acpi.c +++ b/src/acpi/acpi.c @@ -1541,7 +1541,7 @@ void *acpi_find_wakeup_vector(void) void *wake_vec; int i; - if (!acpi_is_wakeup()) + if (!acpi_is_wakeup_s3()) return NULL; printk(BIOS_DEBUG, "Trying to find the wakeup vector...\n"); diff --git a/src/arch/x86/acpi_s3.c b/src/arch/x86/acpi_s3.c index af4ab5efa5..1c304321a2 100644 --- a/src/arch/x86/acpi_s3.c +++ b/src/arch/x86/acpi_s3.c @@ -12,7 +12,7 @@ #if ENV_RAMSTAGE || ENV_POSTCAR -/* This is filled with acpi_is_wakeup() call early in ramstage. */ +/* This is filled with acpi_is_wakeup_s3() call early in ramstage. */ static int acpi_slp_type = -1; static void acpi_handoff_wakeup(void) @@ -28,13 +28,6 @@ static void acpi_handoff_wakeup(void) } } -int acpi_is_wakeup(void) -{ - acpi_handoff_wakeup(); - /* Both resume from S2 and resume from S3 restart at CPU reset */ - return (acpi_slp_type == ACPI_S3 || acpi_slp_type == ACPI_S2); -} - int acpi_is_wakeup_s3(void) { acpi_handoff_wakeup(); diff --git a/src/cpu/amd/agesa/family14/model_14_init.c b/src/cpu/amd/agesa/family14/model_14_init.c index de5bcdcad0..942539cac2 100644 --- a/src/cpu/amd/agesa/family14/model_14_init.c +++ b/src/cpu/amd/agesa/family14/model_14_init.c @@ -52,7 +52,7 @@ static void model_14_init(struct device *dev) msr.lo |= SYSCFG_MSR_MtrrFixDramEn; wrmsr(SYSCFG_MSR, msr); - if (acpi_is_wakeup()) + if (acpi_is_wakeup_s3()) restore_mtrr(); x86_mtrr_check(); diff --git a/src/cpu/amd/agesa/family15tn/model_15_init.c b/src/cpu/amd/agesa/family15tn/model_15_init.c index c2406d850c..83efb44693 100644 --- a/src/cpu/amd/agesa/family15tn/model_15_init.c +++ b/src/cpu/amd/agesa/family15tn/model_15_init.c @@ -51,7 +51,7 @@ static void model_15_init(struct device *dev) msr.lo |= SYSCFG_MSR_MtrrFixDramEn; wrmsr(SYSCFG_MSR, msr); - if (acpi_is_wakeup()) + if (acpi_is_wakeup_s3()) restore_mtrr(); x86_mtrr_check(); diff --git a/src/cpu/amd/agesa/family16kb/model_16_init.c b/src/cpu/amd/agesa/family16kb/model_16_init.c index 2f4fd63a7a..c1c75775e0 100644 --- a/src/cpu/amd/agesa/family16kb/model_16_init.c +++ b/src/cpu/amd/agesa/family16kb/model_16_init.c @@ -49,7 +49,7 @@ static void model_16_init(struct device *dev) msr.lo |= SYSCFG_MSR_MtrrFixDramEn; wrmsr(SYSCFG_MSR, msr); - if (acpi_is_wakeup()) + if (acpi_is_wakeup_s3()) restore_mtrr(); x86_mtrr_check(); diff --git a/src/include/acpi/acpi.h b/src/include/acpi/acpi.h index 2fc5f8e006..bdea467af9 100644 --- a/src/include/acpi/acpi.h +++ b/src/include/acpi/acpi.h @@ -1070,12 +1070,10 @@ static inline int acpi_is_wakeup_s3(void) return (acpi_get_sleep_type() == ACPI_S3); } #else -int acpi_is_wakeup(void); int acpi_is_wakeup_s3(void); #endif #else -static inline int acpi_is_wakeup(void) { return 0; } static inline int acpi_is_wakeup_s3(void) { return 0; } #endif diff --git a/src/lib/hardwaremain.c b/src/lib/hardwaremain.c index 3fe50c9bb6..173ee97192 100644 --- a/src/lib/hardwaremain.c +++ b/src/lib/hardwaremain.c @@ -444,7 +444,7 @@ void main(void) post_code(POST_ENTRY_RAMSTAGE); /* Handoff sleep type from romstage. */ - acpi_is_wakeup(); + acpi_is_wakeup_s3(); threads_initialize(); /* Schedule the static boot state entries. */ diff --git a/src/vendorcode/google/chromeos/elog.c b/src/vendorcode/google/chromeos/elog.c index 523b7c46eb..dff75204a5 100644 --- a/src/vendorcode/google/chromeos/elog.c +++ b/src/vendorcode/google/chromeos/elog.c @@ -19,7 +19,7 @@ static void elog_add_boot_reason(void *unused) } /* Skip logging developer mode in ACPI resume path */ - if (dev && !acpi_is_wakeup()) { + if (dev && !acpi_is_wakeup_s3()) { elog_add_event(ELOG_TYPE_CROS_DEVELOPER_MODE); printk(BIOS_DEBUG, "%s: Logged dev mode boot\n", __func__); -- cgit v1.2.3