diff options
Diffstat (limited to 'src/soc/intel')
-rw-r--r-- | src/soc/intel/common/fsp_ramstage.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/soc/intel/common/fsp_ramstage.c b/src/soc/intel/common/fsp_ramstage.c index b85591d7e1..5ccc4eea92 100644 --- a/src/soc/intel/common/fsp_ramstage.c +++ b/src/soc/intel/common/fsp_ramstage.c @@ -18,15 +18,16 @@ * Foundation, Inc. */ +#include <arch/acpi.h> #include <cbmem.h> #include <cbfs.h> #include <console/console.h> #include <fsp_util.h> #include <lib.h> -#include <romstage_handoff.h> #include <soc/intel/common/memmap.h> #include <soc/intel/common/ramstage.h> #include <stage_cache.h> +#include <string.h> #include <timestamp.h> /* SOC initialization after FSP silicon init */ @@ -176,7 +177,7 @@ static FSP_INFO_HEADER *soc_restore_support_code(void) return header->fih; } -static void fsp_run_silicon_init(struct romstage_handoff *handoff) +static void fsp_run_silicon_init(int is_s3_wakeup) { FSP_INFO_HEADER *fsp_info_header; FSP_SILICON_INIT fsp_silicon_init; @@ -209,7 +210,7 @@ static void fsp_run_silicon_init(struct romstage_handoff *handoff) /* Locate VBT and pass to FSP GOP */ if (IS_ENABLED(CONFIG_GOP_SUPPORT)) - load_vbt(handoff->s3_resume, &silicon_init_params); + load_vbt(is_s3_wakeup, &silicon_init_params); mainboard_silicon_init_params(&silicon_init_params); /* Display the UPD data */ @@ -305,11 +306,9 @@ static int fsp_find_and_relocate(void) void intel_silicon_init(void) { - struct romstage_handoff *handoff; + int is_s3_wakeup = acpi_is_wakeup_s3(); - handoff = cbmem_find(CBMEM_ID_ROMSTAGE_INFO); - - if (handoff != NULL && handoff->s3_resume) { + if (is_s3_wakeup) { printk(BIOS_DEBUG, "FSP: Loading binary from cache\n"); fsp_update_fih(soc_restore_support_code()); } else { @@ -318,7 +317,7 @@ void intel_silicon_init(void) fsp_cache_save(); } - fsp_run_silicon_init(handoff); + fsp_run_silicon_init(is_s3_wakeup); } /* Initialize the UPD parameters for SiliconInit */ |