rk3288: Disable ramstage compression by default

Hardware / Coreboot - Julius Werner [chromium.org] - 20 April 2015 03:19 UTC

The ramstage is loaded from romstage, so the LZMA scratchpad buffer used to decompress it is part of the romstage BSS in SRAM. On RK3288, SRAM cannot be cached which makes the decompression so slow that it's faster to just load an uncompressed image from SPI. Disable ramstage compression on this SoC to account for that.

[pg: implementation avoids restructuring all of Kconfig]

BRANCH=None BUG=None TEST=Built for Pinky and Falco, confirmed that the former didn't have COMPRESS_RAMSTAGE in its .config and the latter still did. Measured a speed-up of about 35ms on Pinky. (For some weird reason, the decompression of the payload also takes way longer than on other platforms, although not as long as the ramstage. I have no explanation for that and can't really think of a good way to figure it out... maybe the Cortex-A12 is just terrible at some operation that LZMA uses a lot?)

Change-Id: I9f67f7537696ec09496483b16b59a8b73f4cb11b

cdf92ea rk3288: Disable ramstage compression by default
src/Kconfig | 7 ++++++-
src/soc/rockchip/rk3288/Kconfig | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)

Upstream: review.coreboot.org


  • Share