intel/common: use acpi_is_wakeup_s3() in fsp_ramstage.c
acpi_is_wakeup_s3() was introduced in upstream coreboot while the FSP support code was written. Move to using that instead of using the romstage_handoff structure directly. BUG=chrome-os-partner:43636 BRANCH=None TEST=Built, booted, suspended, and resumed on glados. Original-Change-Id: I71601a4be3c981672e25e189c98abb6a676462bf Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/290720 Original-Reviewed-by: Leroy P Leahy <leroy.p.leahy@intel.com> Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Change-Id: I2ae4d9906e0891080481fb58b941921922a989d3 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/11190 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
75daee5ee9
commit
39bdb0bbcf
|
@ -18,15 +18,16 @@
|
||||||
* Foundation, Inc.
|
* Foundation, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <arch/acpi.h>
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <cbfs.h>
|
#include <cbfs.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <fsp_util.h>
|
#include <fsp_util.h>
|
||||||
#include <lib.h>
|
#include <lib.h>
|
||||||
#include <romstage_handoff.h>
|
|
||||||
#include <soc/intel/common/memmap.h>
|
#include <soc/intel/common/memmap.h>
|
||||||
#include <soc/intel/common/ramstage.h>
|
#include <soc/intel/common/ramstage.h>
|
||||||
#include <stage_cache.h>
|
#include <stage_cache.h>
|
||||||
|
#include <string.h>
|
||||||
#include <timestamp.h>
|
#include <timestamp.h>
|
||||||
|
|
||||||
/* SOC initialization after FSP silicon init */
|
/* SOC initialization after FSP silicon init */
|
||||||
|
@ -176,7 +177,7 @@ static FSP_INFO_HEADER *soc_restore_support_code(void)
|
||||||
return header->fih;
|
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_INFO_HEADER *fsp_info_header;
|
||||||
FSP_SILICON_INIT fsp_silicon_init;
|
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 */
|
/* Locate VBT and pass to FSP GOP */
|
||||||
if (IS_ENABLED(CONFIG_GOP_SUPPORT))
|
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);
|
mainboard_silicon_init_params(&silicon_init_params);
|
||||||
|
|
||||||
/* Display the UPD data */
|
/* Display the UPD data */
|
||||||
|
@ -305,11 +306,9 @@ static int fsp_find_and_relocate(void)
|
||||||
|
|
||||||
void intel_silicon_init(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 (is_s3_wakeup) {
|
||||||
|
|
||||||
if (handoff != NULL && handoff->s3_resume) {
|
|
||||||
printk(BIOS_DEBUG, "FSP: Loading binary from cache\n");
|
printk(BIOS_DEBUG, "FSP: Loading binary from cache\n");
|
||||||
fsp_update_fih(soc_restore_support_code());
|
fsp_update_fih(soc_restore_support_code());
|
||||||
} else {
|
} else {
|
||||||
|
@ -318,7 +317,7 @@ void intel_silicon_init(void)
|
||||||
fsp_cache_save();
|
fsp_cache_save();
|
||||||
}
|
}
|
||||||
|
|
||||||
fsp_run_silicon_init(handoff);
|
fsp_run_silicon_init(is_s3_wakeup);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize the UPD parameters for SiliconInit */
|
/* Initialize the UPD parameters for SiliconInit */
|
||||||
|
|
Loading…
Reference in New Issue