summaryrefslogtreecommitdiff
path: root/src/soc/amd/picasso/smihandler.c
diff options
context:
space:
mode:
authorReka Norman <rekanorman@google.com>2022-09-13 14:06:52 +1000
committerFelix Held <felix-coreboot@felixheld.de>2022-12-06 21:16:24 +0000
commit7b5a93153a17b728031e9a5351b6fb0176aa3a37 (patch)
treecd989ba3daacc7bee07638b4c81ace21b922d4e8 /src/soc/amd/picasso/smihandler.c
parentc4fbeacd01772ad297d5c508bc44e9fa3bc27fb6 (diff)
drivers/intel/fsp2_0: Update MRC cache in ramstage
Currently the MRC cache is updated in romstage, immediately after returning from FSP-M. Since cbmem is not cached in romstage, the update is slow (~6 ms on nissa). Specifically, the new MRC data returned by the FSP is stored in the FSP reserved memory in cbmem, so hashing the new data is slow. Move the MRC cache update to ramstage, where cbmem is cached. On nissa, this saves ~5 ms of boot time. Before: 552:finished loading ChromeOS VPD (RW) 631,667 (16) 3:after RAM initialization 637,703 (6,036) 4:end of romstage 650,307 (12,603) After: 552:finished loading ChromeOS VPD (RW) 631,832 (15) 3:after RAM initialization 633,002 (1,169) 4:end of romstage 645,582 (12,580) In ramstage, save_mrc_data() takes ~138 us. BUG=b:242667207 TEST=MRC caching still works as expected on nivviks - after clearing the MRC cache, memory is retrained on the next boot, but cached data is used on subsequent boots. Change-Id: Ie6aa2dee83a3ab8913830746593935d36a034b8d Signed-off-by: Reka Norman <rekanorman@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/67669 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/soc/amd/picasso/smihandler.c')
0 files changed, 0 insertions, 0 deletions