aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell/refcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/broadwell/refcode.c')
-rw-r--r--src/soc/intel/broadwell/refcode.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/soc/intel/broadwell/refcode.c b/src/soc/intel/broadwell/refcode.c
index 882f888af9..36b41779c4 100644
--- a/src/soc/intel/broadwell/refcode.c
+++ b/src/soc/intel/broadwell/refcode.c
@@ -13,17 +13,6 @@
#include <soc/pm.h>
#include <soc/ramstage.h>
-static pei_wrapper_entry_t load_refcode_from_cache(void)
-{
- struct prog refcode;
-
- printk(BIOS_DEBUG, "refcode loading from cache.\n");
-
- stage_cache_load_stage(STAGE_REFCODE, &refcode);
-
- return (pei_wrapper_entry_t)prog_entry(&refcode);
-}
-
static pei_wrapper_entry_t load_reference_code(void)
{
struct prog prog =
@@ -33,8 +22,11 @@ static pei_wrapper_entry_t load_reference_code(void)
.prog = &prog,
};
- if (acpi_is_wakeup_s3())
- return load_refcode_from_cache();
+ if (resume_from_stage_cache()) {
+ struct prog refcode;
+ stage_cache_load_stage(STAGE_REFCODE, &refcode);
+ return prog_entry(&prog);
+ }
if (prog_locate(&prog)) {
printk(BIOS_DEBUG, "Couldn't locate reference code.\n");