Attention is currently required from: Jason Glenesk, Marshall Dawson, Felix Held. Hello build bot (Jenkins), Jason Glenesk, Marshall Dawson, Felix Held,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/55859
to look at the new patch set (#3).
Change subject: soc/amd/cezanne: Start loading APOB asynchronously while FSP-M executes ......................................................................
soc/amd/cezanne: Start loading APOB asynchronously while FSP-M executes
In the S3 resume case we will block in `soc_fill_apob_cache` until the whole buffer has been read since the PSP has not placed the APOB contents into RAM.
In the non-S3 case, the PSP has placed the APOB contents into RAM, so `soc_fill_apob_cache` uses that for FSP-M. By reading the SPI contents while FSP-M is executing, the data will be ready by the time `soc_update_apob_cache` executes.
We currently get lucky that the APOB is only 64 KiB since the SPI DMA controller can perform this transaction in one shot. In order to support larger payloads, or multiple transactions while FSP-M executes, we will need FSP-M to call `poll_futures` periodically.
BUG=b:179699789 TEST=Boot guybrush and verify APOB read timestamp has dropped from 10ms to a few uS.
FMAP: area RW_MRC_CACHE found @ 0 (65536 bytes) spi_dma_readat_async: dest: 0x020935c0, offset: 0x0, size: 65536 spi_dma_async_poll: current_transaction: 0x020a3620 start_spi_dma_transaction: dest: 0x020935c0, offset: 0x0, remaining: 65536
<FSP-M executes>
wait_for_promise: waiting for promise spi_dma_async_poll: current_transaction: 0x020a3620 continue_spi_dma_transaction: dest: 0x020935c0, offset: 0x0, remaining: 65536 spi_dma_async_poll: transaction complete spi_dma_async_poll: current_transaction: 0x00000000 wait_for_promise: took 12 us APOB valid copy is already in flash
Signed-off-by: Raul E Rangel rrangel@chromium.org Change-Id: I4b5c1ef4cad571d1cbca33b1aff017a3cedc1be8 --- M src/soc/amd/cezanne/fsp_m_params.c 1 file changed, 14 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/59/55859/3