Attention is currently required from: Angel Pons, Evgeny Zinoviev.

Angel Pons uploaded patch set #5 to this change.

View Change

nb/intel/sandybridge: Improve channel disable logic

Do not consider the failed channel's SPDs in emergency mode. Also, force
a full training if not resuming from S3 and the saved data indicates a
channel has failed. Special care needs to be taken as the selected
memory frequency could be raised after a channel has been disabled.

Tested on Asus P8Z77-V LX2, with a good DIMM on channel 0 and a bad DIMM
on channel 1. The failing channel causes errors when discovering timB,
and emergency mode raminit for the other channel is good enough to boot.
With this commit:

a. Regular boots always result in full training.
b. The board still boots, as emergency raminit trained the good DIMM.
c. S3 resume still works in all tested configurations.
d. If pretending the bad DIMM is slower:
1. The MPLL gets locked at the slow frequency of the bad DIMM.
2. The first raminit attempt still fails miserably on the bad DIMM.
3. Emergency mode uses the frequency the MPLL is locked at.
4. The board boots with the good DIMM running at the slow frequency.

With good DIMMs on both channels, everything works the same as before.

Change-Id: I3d34594561680906cb0b15a9c6a5fa7a773c0496
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
M src/northbridge/intel/sandybridge/raminit.c
M src/northbridge/intel/sandybridge/raminit_common.h
M src/northbridge/intel/sandybridge/raminit_native.c
3 files changed, 37 insertions(+), 20 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/00/45500/5

To view, visit change 45500. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I3d34594561680906cb0b15a9c6a5fa7a773c0496
Gerrit-Change-Number: 45500
Gerrit-PatchSet: 5
Gerrit-Owner: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-Reviewer: Evgeny Zinoviev <me@ch1p.io>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Attention: Angel Pons <th3fanbus@gmail.com>
Gerrit-Attention: Evgeny Zinoviev <me@ch1p.io>
Gerrit-MessageType: newpatchset