drivers/fsp1_1/raminit: fix use of mrc_hob

Commit 509f469 [drivers/fsp1_1/raminit.c: Always check FSP HOBs]
inadvertently made use of the mrc_hob conditional on
CONFIG_DISPLAY_HOBS, when there is no relation between the two,
leading to MRC cache data being corrupted.  On some devices this
caused RAM training to be redone, on others it resulted in a
bricked device.

Fix this by removing the condition on CONFIG_DISPLAY_HOBS.

Test: boot google/{cyan,edgar}, observe third boot and onward do not
brick device, properly use mrc_hob via cbmem console and timestamps.

Change-Id: I01f6d1d6dfd10297b30de638301c5e0b6545da9c
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34685
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Matt DeVillier 2019-08-02 20:16:36 -05:00 committed by Martin Roth
parent bccd2b6c49
commit 4183312cec
1 changed files with 1 additions and 1 deletions

View File

@ -259,7 +259,7 @@ void raminit(struct romstage_params *params)
/* Locate the memory configuration data to speed up the next reboot */ /* Locate the memory configuration data to speed up the next reboot */
mrc_hob = get_next_guid_hob(&mrc_guid, hob_list_ptr); mrc_hob = get_next_guid_hob(&mrc_guid, hob_list_ptr);
if ((mrc_hob == NULL) && CONFIG(DISPLAY_HOBS)) if (mrc_hob == NULL)
printk(BIOS_DEBUG, printk(BIOS_DEBUG,
"Memory Configuration Data Hob not present\n"); "Memory Configuration Data Hob not present\n");
else if (!vboot_recovery_mode_enabled()) { else if (!vboot_recovery_mode_enabled()) {