Attention is currently required from: Andrey Petrov, Kapil Porwal, Tarun Tuli.
Hello Andrey Petrov, Kapil Porwal, Tarun Tuli,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/75899?usp=email
to look at the new patch set (#2).
Change subject: Use MRC version for storing MRC cache instead FSP version ......................................................................
Use MRC version for storing MRC cache instead FSP version
So far FSP version is getting used to store the MRC cache hence, MRC cache is getting erase and retrain the memory with every FSP uprev (irrespective of whether MRC is being uprev'ed or not)
TEST=Try below scenarios on google/rex
FSP version: 0D.00.7B.41 MRC version: 07.12.01
update the FSP version alone (w/o changing the MRC version)
uprev FSP version: 0D.00.7B.42 MRC version: 07.12.01
w/o this patch:
Result: Retrain the complete memory as coreboot erased the mrc cache due to FSP version mismatch.
[SPEW ] MRC no cache found [DEBUG] MRC: Checking cached data update for 'RW_MRC_CACHE'. [DEBUG] MRC: 'RW_MRC_CACHE' need update. [DEBUG] Reference Code - MRC = 0.7.12.1
w/ this patch:
Result: Utilize the existing MRC cache and skip memory retraining. Improve the user experience during in-field FW update where save boot time by not doing memory training as MRC is not being updated although FSP is getting uprev'ed.
[DEBUG] FMAP: area RW_MRC_CACHE found @ 1710000 (65536 bytes) [INFO ] MRC: Hash idx 0x100d comparison successful. [SPEW ] MRC cache found, size 53829 bytes [DEBUG] FMAP: area RW_MRC_CACHE found @ 1710000 (65536 bytes) [DEBUG] MRC: Checking cached data update for 'RW_MRC_CACHE'. [DEBUG] MRC: 'RW_MRC_CACHE' does not need update. [DEBUG] Reference Code - MRC = 0.7.12.1 ... ... [DEBUG] MRC VERSION 3. 0x75ffeb60 0x00000004
Change-Id: I82faac3fe600d2b37103e25357f6cf3c2310875c Signed-off-by: Subrata Banik subratabanik@google.com --- M src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h M src/drivers/intel/fsp2_0/Kconfig M src/drivers/intel/fsp2_0/include/fsp/soc_binding.h M src/drivers/intel/fsp2_0/memory_init.c M src/drivers/intel/fsp2_0/save_mrc_data.c M src/soc/intel/meteorlake/Kconfig 6 files changed, 82 insertions(+), 21 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/99/75899/2