coreboot/src/drivers
Reka Norman f83b7d494e drivers/mrc_cache: Don't compute checksum if TPM hash is used
When MRC_SAVE_HASH_IN_TPM is selected, mrc_data_valid() uses the TPM
hash to verify the MRC cache data, not the checksum. However, we still
calculate the checksum when updating the cache. Skip this calculation
when MRC_SAVE_HASH_IN_TPM is selected to save boot time.

On nissa, this reduces boot time by ~14 ms:

Before:
  3:after RAM initialization                          854,298 (28,226)

After:
  3:after RAM initialization                          849,626 (14,463)

Note, the reason the calculation is so slow is that the new MRC data
lives in CBMEM, which is not yet marked as cacheable in romstage.

BUG=b:242667207
TEST=MRC caching still works as expected on nivviks. After clearing
the MRC cache, memory training happens on the next boot, but doesn't on
subsequent boots.

Change-Id: Ifbb75ecfa17421c0565aec1f3eb48d950244f821
Signed-off-by: Reka Norman <rekanorman@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67042
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Shelley Chen <shchen@google.com>
2022-08-27 15:58:26 +00:00
..
acpi/thermal_zone drivers/acpi: Add a chip driver to generate thermal zone 2021-05-20 08:01:11 +00:00
amd drivers/amd/agesa: Fix some white spaces issues 2022-07-17 21:55:47 +00:00
ams include/bcd: move bcd code to commonlib/bsd/include 2021-08-23 14:08:47 +00:00
analogix/anx7625 treewide: Remove "ERROR: "/"WARN: " prefixes from log messages 2022-02-07 23:29:09 +00:00
asmedia src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00
aspeed drivers: Get rid of unnecessary blank lines {before,after} brace 2022-07-17 18:45:23 +00:00
broadcom src: Make PCI ID define names shorter 2022-03-07 08:32:09 +00:00
camera treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
crb drivers: Get rid of unnecessary blank lines {before,after} brace 2022-07-17 18:45:23 +00:00
elog drivers/elog: Use format string 2022-08-01 09:27:50 +00:00
emulation/qemu drivers/emulation/qemu: Add missing include for MMIO 2021-10-17 11:48:13 +00:00
generic pciexp_device: Join pciexp_find_(next_)extended_cap() APIs 2022-08-17 16:29:39 +00:00
genesyslogic drivers/genesyslogic/gl9763e: Add set L1 entry delay to Max for GL9763E 2022-03-22 03:45:30 +00:00
gfx/generic drivers/gfx/generic: Add optional _HID for gfx devices 2021-12-01 22:04:12 +00:00
i2c drivers/i2c: add MAX98396 driver 2022-08-17 19:42:29 +00:00
intel drivers: Implement EFI_PEI_MP_SERVICES_PPI with FSP_UNSUPPORTED type 2022-08-24 21:25:34 +00:00
ipmi drivers: Get rid of unnecessary blank lines {before,after} brace 2022-07-17 18:45:23 +00:00
lenovo drivers: Remove unused <acpi/acpi.h> 2022-04-24 17:41:26 +00:00
maxim drivers/maxim/max77686/max77686.h: Remove repeated word 2021-01-18 07:39:21 +00:00
mipi commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
mrc_cache drivers/mrc_cache: Don't compute checksum if TPM hash is used 2022-08-27 15:58:26 +00:00
net drivers: Get rid of unnecessary blank lines {before,after} brace 2022-07-17 18:45:23 +00:00
nxp/uwb mb/google/brya/var/ghost: Enable NXP UWB SR150 chip 2022-08-17 19:46:07 +00:00
ocp/dmi cpu/x86/mp_init: use cb_err as status return type in remaining functions 2021-10-22 01:26:30 +00:00
parade commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
pc80 drivers: Get rid of unnecessary blank lines {before,after} brace 2022-07-17 18:45:23 +00:00
pcie drivers/pci/generic: Add support for _PRW 2022-07-20 22:31:22 +00:00
ricoh/rce822 src: Make PCI ID define names shorter 2022-03-07 08:32:09 +00:00
secunet/dmi treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
siemens/nc_fpga drivers/siemens/nc_fpga: Fix typo in comment 2022-08-23 14:04:22 +00:00
sil/3114 treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
smmstore payloads/tianocore: Rename TianoCore to edk2 2022-08-13 16:35:18 +00:00
soundwire device/mipi: Move to drivers/mipi 2021-08-26 15:18:45 +00:00
spi drivers/spi/tpm: Add Ti50 entry to dev_map 2022-08-24 14:25:59 +00:00
ti commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
tpm tpm: Correct TI50_FIRMWARE_VERSION_NOT_SUPPORTED help text 2022-08-21 15:01:19 +00:00
uart drivers/uart/uart8250reg.h: use shifts in constants 2022-02-07 14:05:05 +00:00
usb drivers: Get rid of unnecessary blank lines {before,after} brace 2022-07-17 18:45:23 +00:00
vpd CBMEM: Change declarations for initialization hooks 2022-05-20 07:15:39 +00:00
wifi/generic drivers/wifi/generic: Revert changes to generate missing SSDT for PCIe 2022-07-27 13:39:54 +00:00
wwan/fm drivers/wwan/fm: Include option to add ACPI _DSD for DmaProperty 2022-03-07 17:48:44 +00:00