[coreboot-gerrit] Patch set updated for coreboot: nb/intel/sandybridge/raminit: Reset internal state on fallback attempts
Patrick Rudolph (siro@das-labor.org)
gerrit at coreboot.org
Sat Nov 19 16:16:57 CET 2016
Patrick Rudolph (siro at das-labor.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17471
-gerrit
commit bc62dfbc5c4b91ffe90aca2583ff46534eb2c354
Author: Patrick Rudolph <siro at das-labor.org>
Date: Wed Nov 16 18:06:50 2016 +0100
nb/intel/sandybridge/raminit: Reset internal state on fallback attempts
Some methods like discover_402x assume an clear state.
Should fix fallback attempt raminit failures.
Change-Id: I7a6fe044c17f5e0dbfa0e9b9d2aed0c3b6ae3972
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
src/northbridge/intel/sandybridge/raminit.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/northbridge/intel/sandybridge/raminit.c b/src/northbridge/intel/sandybridge/raminit.c
index a07e8a1..5d4adb9 100644
--- a/src/northbridge/intel/sandybridge/raminit.c
+++ b/src/northbridge/intel/sandybridge/raminit.c
@@ -4216,8 +4216,6 @@ void init_dram_ddr3(spd_raw_data *spds, int mobile, int min_tck,
halt();
}
- memset(&ctrl, 0, sizeof(ctrl));
-
early_pch_init_native();
early_thermal_init();
@@ -4266,6 +4264,8 @@ void init_dram_ddr3(spd_raw_data *spds, int mobile, int min_tck,
}
}
if (!fast_boot) {
+ /* Reset internal state */
+ memset(&ctrl, 0, sizeof(ctrl));
ctrl.mobile = mobile;
ctrl.tCK = min_tck;
@@ -4280,6 +4280,11 @@ void init_dram_ddr3(spd_raw_data *spds, int mobile, int min_tck,
printk(BIOS_ERR, "RAM training failed, trying fallback.\n");
printram("Disable failing channel.\n");
+ /* Reset internal state */
+ memset(&ctrl, 0, sizeof(ctrl));
+ ctrl.mobile = mobile;
+ ctrl.tCK = min_tck;
+
/* Reset DDR3 frequency */
dram_find_spds_ddr3(spds, &ctrl);
More information about the coreboot-gerrit
mailing list