diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-07-26 00:57:30 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-09-06 04:58:40 +0000 |
commit | 38aff1ad41d6556dbcc466ce11f58ea8ca7a07b7 (patch) | |
tree | 1f6b554fc1742b373537b642db13488cc8f652f3 /src/northbridge | |
parent | 8f39f1f097b8046eb3c80ac1de44ce24ac366560 (diff) |
AGESA f15tn f16kb: Fix ACPI S3 resume for FCH
This recovers FCH configuration on S3 resume path.
Appearst to work, but other defects of HAVE_ACPI_RESUME
must be fixed also before S3 support is re-enabled.
Change-Id: I8d07d2e9dc161b67d854fcc8ec1da1f36900f989
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/21376
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/northbridge')
-rw-r--r-- | src/northbridge/amd/agesa/state_machine.c | 17 | ||||
-rw-r--r-- | src/northbridge/amd/agesa/state_machine.h | 4 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/northbridge/amd/agesa/state_machine.c b/src/northbridge/amd/agesa/state_machine.c index 3f61c584aa..7743603f0b 100644 --- a/src/northbridge/amd/agesa/state_machine.c +++ b/src/northbridge/amd/agesa/state_machine.c @@ -330,6 +330,7 @@ static void amd_bs_ramstage_init(void *arg) if (IS_ENABLED(CONFIG_LATE_CBMEM_INIT)) cbmem_initialize(); agesa_execute_state(cb, AMD_S3LATE_RESTORE); + fchs3earlyrestore(&cb->StdHeader); } } @@ -351,8 +352,10 @@ static void amd_bs_post_device(void *arg) { struct sysinfo *cb = arg; - if (acpi_is_wakeup_s3()) + if (acpi_is_wakeup_s3()) { + fchs3laterestore(&cb->StdHeader); return; + } agesa_execute_state(cb, AMD_INIT_LATE); @@ -386,3 +389,15 @@ void __attribute__((weak)) board_BeforeInitEnv(struct sysinfo *cb, AMD_ENV_PARAMS *Env) { } void __attribute__((weak)) board_BeforeInitMid(struct sysinfo *cb, AMD_MID_PARAMS *Mid) { } + +AGESA_STATUS __attribute__((weak)) +fchs3earlyrestore(AMD_CONFIG_PARAMS *StdHeader) +{ + return AGESA_SUCCESS; +} + +AGESA_STATUS __attribute__((weak)) +fchs3laterestore(AMD_CONFIG_PARAMS *StdHeader) +{ + return AGESA_SUCCESS; +} diff --git a/src/northbridge/amd/agesa/state_machine.h b/src/northbridge/amd/agesa/state_machine.h index 3d8e53d3d4..f2551de5d9 100644 --- a/src/northbridge/amd/agesa/state_machine.h +++ b/src/northbridge/amd/agesa/state_machine.h @@ -38,6 +38,10 @@ AGESA_STATUS OemS3LateRestore(AMD_S3_PARAMS *dataBlock); AGESA_STATUS OemS3Save(AMD_S3_PARAMS *dataBlock); #endif +/* For FCH */ +AGESA_STATUS fchs3earlyrestore(AMD_CONFIG_PARAMS *StdHeader); +AGESA_STATUS fchs3laterestore(AMD_CONFIG_PARAMS *StdHeader); + struct sysinfo { AMD_CONFIG_PARAMS StdHeader; |