Patrick Rudolph (siro@das-labor.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17610
-gerrit
commit 316618a1a96e114afb050a57b49de9fbdacd5ff4 Author: Patrick Rudolph siro@das-labor.org Date: Fri Nov 25 16:00:01 2016 +0100
[WIP]nb/intel/sandybridge/raminit: Fix normalize_training
Remove cross rank/cross channel dependency. I guess this is a mistake that could lead to instabilities.
UNTESTED!
Change-Id: I899db907cd2d2197fd81eda4c4656fb1e570c18f Signed-off-by: Patrick Rudolph siro@das-labor.org --- src/northbridge/intel/sandybridge/raminit_common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/northbridge/intel/sandybridge/raminit_common.c b/src/northbridge/intel/sandybridge/raminit_common.c index 3f07632..6b352c2 100644 --- a/src/northbridge/intel/sandybridge/raminit_common.c +++ b/src/northbridge/intel/sandybridge/raminit_common.c @@ -3022,10 +3022,11 @@ int discover_timC_write(ramctr_timing *ctrl) void normalize_training(ramctr_timing * ctrl) { int channel, slotrank, lane; - int mat = 0; + int mat;
FOR_ALL_CHANNELS FOR_ALL_POPULATED_RANKS { int delta; + mat = 0; FOR_ALL_LANES mat = max(ctrl->timings[channel][slotrank].lanes[lane].timA, mat); printram("normalize %d, %d, %d: mat %d\n",