diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-06-18 13:44:29 +0300 |
---|---|---|
committer | Angel Pons <th3fanbus@gmail.com> | 2020-11-19 22:58:11 +0000 |
commit | 4a3f67a9f22f52c2f495cf3708ffb2a92bd9fa70 (patch) | |
tree | 7cb45e365edfe4bf86eb67e254e6aeea0985d0cc /src/acpi/acpi_pm.c | |
parent | dc5539fe16ba025e6ab6b1a964653d8a82069be7 (diff) |
ACPI S3: Split arch-agnostic parts
Change-Id: I9fc2d1cdbb280f781045882bc4ac98c67946953e
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42614
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/acpi/acpi_pm.c')
-rw-r--r-- | src/acpi/acpi_pm.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/acpi/acpi_pm.c b/src/acpi/acpi_pm.c new file mode 100644 index 0000000000..cecf878910 --- /dev/null +++ b/src/acpi/acpi_pm.c @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <acpi/acpi.h> +#include <console/console.h> +#include <romstage_handoff.h> + +/* This is filled with acpi_handoff_wakeup_s3() call early in ramstage. */ +static int acpi_slp_type = -1; + +static void acpi_handoff_wakeup(void) +{ + if (acpi_slp_type < 0) { + if (romstage_handoff_is_resume()) { + printk(BIOS_DEBUG, "S3 Resume\n"); + acpi_slp_type = ACPI_S3; + } else { + printk(BIOS_DEBUG, "Normal boot\n"); + acpi_slp_type = ACPI_S0; + } + } +} + +int acpi_handoff_wakeup_s3(void) +{ + acpi_handoff_wakeup(); + return (acpi_slp_type == ACPI_S3); +} + +void __weak mainboard_suspend_resume(void) +{ +} |