summaryrefslogtreecommitdiff
path: root/src/soc/amd/common/block/pi
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2018-07-01 03:48:39 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-16 00:35:49 +0000
commit66cabe7ba28a9abbbf228ef3688a4d2c17a5eba3 (patch)
treed9816550eb5873997708044720a50524a9f80002 /src/soc/amd/common/block/pi
parent434a975b979819d0da162097bd433fba5ac7d8c8 (diff)
soc/amd/common: Refactor S3 helpers
Make the prototypes match what drivers/amd/agesa would rather see, in preparation to use the same code with open-source AGESA. Change-Id: I1506ee2f7ecf3cb6ec4cce37a030c05f78ec6d59 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/31490 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/amd/common/block/pi')
-rw-r--r--src/soc/amd/common/block/pi/agesawrapper.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/soc/amd/common/block/pi/agesawrapper.c b/src/soc/amd/common/block/pi/agesawrapper.c
index a39e29ff48..c5464df834 100644
--- a/src/soc/amd/common/block/pi/agesawrapper.c
+++ b/src/soc/amd/common/block/pi/agesawrapper.c
@@ -312,10 +312,10 @@ static AGESA_STATUS amd_init_rtb(AMD_RTB_PARAMS *RtbParams)
Status = amd_dispatch(RtbParams);
timestamp_add_now(TS_AGESA_INIT_RTB_DONE);
- if (save_s3_info(RtbParams->S3DataBlock.NvStorage,
- RtbParams->S3DataBlock.NvStorageSize,
- RtbParams->S3DataBlock.VolatileStorage,
- RtbParams->S3DataBlock.VolatileStorageSize))
+ if (Status != AGESA_SUCCESS)
+ return Status;
+
+ if (OemS3Save(&RtbParams->S3DataBlock) != AGESA_SUCCESS)
printk(BIOS_ERR, "S3 data not saved, resuming impossible\n");
return Status;
@@ -324,10 +324,8 @@ static AGESA_STATUS amd_init_rtb(AMD_RTB_PARAMS *RtbParams)
static AGESA_STATUS amd_init_resume(AMD_RESUME_PARAMS *InitResumeParams)
{
AGESA_STATUS status;
- size_t nv_size;
- get_s3nv_info(&InitResumeParams->S3DataBlock.NvStorage, &nv_size);
- InitResumeParams->S3DataBlock.NvStorageSize = nv_size;
+ OemInitResume(&InitResumeParams->S3DataBlock);
timestamp_add_now(TS_AGESA_INIT_RESUME_START);
status = amd_dispatch(InitResumeParams);
@@ -339,12 +337,10 @@ static AGESA_STATUS amd_init_resume(AMD_RESUME_PARAMS *InitResumeParams)
static AGESA_STATUS amd_s3late_restore(AMD_S3LATE_PARAMS *S3LateParams)
{
AGESA_STATUS Status;
- size_t vol_size;
amd_initcpuio();
- get_s3vol_info(&S3LateParams->S3DataBlock.VolatileStorage, &vol_size);
- S3LateParams->S3DataBlock.VolatileStorageSize = vol_size;
+ OemS3LateRestore(&S3LateParams->S3DataBlock);
timestamp_add_now(TS_AGESA_S3_LATE_START);
Status = amd_dispatch(S3LateParams);
@@ -356,10 +352,8 @@ static AGESA_STATUS amd_s3late_restore(AMD_S3LATE_PARAMS *S3LateParams)
static AGESA_STATUS amd_s3final_restore(AMD_S3FINAL_PARAMS *S3FinalParams)
{
AGESA_STATUS Status;
- size_t vol_size;
- get_s3vol_info(&S3FinalParams->S3DataBlock.VolatileStorage, &vol_size);
- S3FinalParams->S3DataBlock.VolatileStorageSize = vol_size;
+ OemS3LateRestore(&S3FinalParams->S3DataBlock);
timestamp_add_now(TS_AGESA_S3_FINAL_START);
Status = amd_dispatch(S3FinalParams);