nb/intel/sandybridge: Restore nominal Vref for current channel
After aggressive read training, program nominal Vref for the current channel, not only channel 0. This simple mistake can easily degrade memory margins, especially when running at high speed (overclocking). Tested on Asus P8H61-M PRO, still boots. Change-Id: I12630fe33c5c786c8ec131c45c27180c3887d354 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47680 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
@@ -2555,7 +2555,8 @@ static int discover_edges_write_real(ramctr_timing *ctrl, int channel, int slotr
|
||||
}
|
||||
}
|
||||
|
||||
MCHBAR32(GDCRTRAININGMOD_ch(0)) = 0;
|
||||
/* Restore nominal Vref after training */
|
||||
MCHBAR32(GDCRTRAININGMOD_ch(channel)) = 0;
|
||||
printram("CPA\n");
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user