Shelley Chen has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/46855 )
Change subject: mrc_cache: Move force memory retraining code into mrc_cache
......................................................................
mrc_cache: Move force memory retraining code into mrc_cache
Currently forced memory retraining is handled in fsp 2.0. Moving the
code into mrc_cache so more platforms can utilize it.
BOG=b:150502246
BRANCH=None
TEST=run dut-control power_state:rec_force_mrc twice on lazor
ensure that memory training happens both times
run dut-control power_state:rec twice on lazor
ensure that memory training happens only first time
Change-Id: I3875a7b4a4ba3c1aa8a3c1507b3993036a7155fc
Signed-off-by: Shelley Chen <shchen(a)google.com>
---
M src/drivers/intel/fsp2_0/memory_init.c
M src/drivers/mrc_cache/mrc_cache.c
2 files changed, 12 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/55/46855/1
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index 68cc121..27e34fe 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -92,18 +92,6 @@
if (!CONFIG(CACHE_MRC_SETTINGS))
return;
- /*
- * In recovery mode, force retraining:
- * 1. Recovery cache is not supported, or
- * 2. Memory retrain switch is set.
- */
- if (vboot_recovery_mode_enabled()) {
- if (!CONFIG(HAS_RECOVERY_MRC_CACHE))
- return;
- if (get_recovery_mode_retrain_switch())
- return;
- }
-
/* Assume boot device is memory mapped. */
assert(CONFIG(BOOT_DEVICE_MEMORY_MAPPED));
diff --git a/src/drivers/mrc_cache/mrc_cache.c b/src/drivers/mrc_cache/mrc_cache.c
index 3b98dba..58fa70d 100644
--- a/src/drivers/mrc_cache/mrc_cache.c
+++ b/src/drivers/mrc_cache/mrc_cache.c
@@ -255,6 +255,18 @@
const size_t md_size = sizeof(*md);
const bool fail_bad_data = true;
+ /*
+ * In recovery mode, force retraining:
+ * 1. Recovery cache is not supported, or
+ * 2. Memory retrain switch is set.
+ */
+ if (vboot_recovery_mode_enabled()) {
+ if (!CONFIG(HAS_RECOVERY_MRC_CACHE))
+ return -1;
+ if (get_recovery_mode_retrain_switch())
+ return -1;
+ }
+
cr = lookup_region(®ion, type);
if (cr == NULL)
--
To view, visit https://review.coreboot.org/c/coreboot/+/46855
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I3875a7b4a4ba3c1aa8a3c1507b3993036a7155fc
Gerrit-Change-Number: 46855
Gerrit-PatchSet: 1
Gerrit-Owner: Shelley Chen <shchen(a)google.com>
Gerrit-MessageType: newchange