coreboot/src
Subrata Banik 5f0225a7b5 drivers/intel/fsp2_0: Refactor for earlier graphics memory WC MTRR
Moves the MTRR setup for graphics memory (GMADR) from the
`soc_load_logo_by_coreboot()` function to `do_silicon_init()`. This
refactors the logic into a new helper function,
`soc_mark_gfx_memory()`, which acquires a temporary Write-Combine
(WC) MTRR.

The MTRR is now configured earlier in the silicon initialization
process, making the setup and cleanup independent of the
`soc_load_logo_by_coreboot()` function itself.

This improves FSP-S performance and ensures the MTRR is correctly
managed within the silicon initialization flow which was earlier
missed when platform selects `USE_COREBOOT_FOR_BMP_RENDERING` aka
rendering the BMP logo using coreboot driver and not using FSP driver
logic.

The cleanup of the MTRR is also moved to `do_silicon_init()` to pair
with the earlier setup.

TEST=Successfully boot to OS on google/fatcat using coreboot for logo
rendering.

w/o this patch

```
    963:returning from FspMultiPhaseSiInit    1,164,839 (123,244)
```

w/ this patch

```
    963:returning from FspMultiPhaseSiInit    1,143,974 (115,443)
```

Change-Id: I5da3178c622f5fd6cb3d7f3f574e59f9ed5a5b3d
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/88982
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-08-29 04:33:07 +00:00
..
acpi drivers/crb/tpm: Add new method to retrieve base address 2025-07-02 16:15:09 +00:00
arch soc/power9/rom_media.c: find CBFS in PNOR 2025-08-28 20:14:01 +00:00
commonlib commonlib/include/commonlib: Add volatile qualifier 2025-07-22 16:30:38 +00:00
console
cpu cpu/x86/mp_init: Refactor ICR wait logic 2025-08-19 20:56:58 +00:00
device device/device_util: Fix format specifier for DEVICE_PATH_GICC_V3 2025-08-15 19:00:14 +00:00
drivers drivers/intel/fsp2_0: Refactor for earlier graphics memory WC MTRR 2025-08-29 04:33:07 +00:00
ec ec/starlabs/merlin: Add a "off" mode for the power LED 2025-08-24 20:23:40 +00:00
include include: Make DRAM an explicit region 2025-08-16 01:58:58 +00:00
lib src/lib/cbmem_common: Delete a space(' ') in the source code 2025-08-28 20:13:34 +00:00
mainboard mb/google/ocelot: Drop redundant SNDW GPIO mapping 2025-08-28 20:15:46 +00:00
northbridge nb/intel/sandybridge/northbridge.c: Disable non-active PEG devices 2025-08-28 20:08:17 +00:00
sbom sbom: Fix build with merged bootblock and romstage 2025-07-07 14:29:29 +00:00
security security/vboot: Back up CMOS data later boot phase 2025-06-05 13:36:19 +00:00
soc soc/intel/common/block/systemagent: Increase MTRR region size to 32 MiB 2025-08-29 03:03:52 +00:00
southbridge sb/intel/common/smbus: Use proper delay instruction 2025-08-24 20:20:56 +00:00
superio src/superio/nuvoton: Add HWM initialization code 2025-06-11 13:31:25 +00:00
vendorcode vc/intel/fsp: Update PTL FSP headers to FSP 3272_04 2025-08-19 11:29:21 +00:00
Kconfig security/vboot: Back up CMOS data later boot phase 2025-06-05 13:36:19 +00:00