drivers/intel/gma/Kconfig: Add VBT compression configuration entry

Introduce Kconfig choice to pick between lzma, lz4 and no compression
at all of the VBT binary.

If VBT is needed in romstage, it can be used to set VBT lz4
compression as an alternative to enabling lzma compression support.
Indeed, the extra lzma code needed to de-compress VBT undermines the
compression size reduction between lzma and lz4.

BUG=b:279173035
TEST=Verified that vbt.bin is lz4 compressed with
     VBT_CBFS_COMPRESSION_LZ4 and not compressed at all with
     VBT_CBFS_COMPRESSION_NONE

Change-Id: I1df6a96c2ec122f0ef8ee6a1e96ffbd621b14941
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76816
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Shelley Chen <shchen@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
This commit is contained in:
Jeremy Compostella 2023-06-22 18:04:47 -07:00 committed by Subrata Banik
parent 434928c3a4
commit 7ffd37dcb4
2 changed files with 34 additions and 1 deletions

View File

@ -63,6 +63,39 @@ config VBT_DATA_SIZE_KB
int
default 8
config VBT_CBFS_COMPRESSION_DEFAULT_LZ4
def_bool n
help
Set LZ4 VBT compression.
config VBT_CBFS_COMPRESSION_DEFAULT_NONE
def_bool n
help
Disable VBT compression.
choice
prompt "VBT Compression algorithm"
default VBT_CBFS_COMPRESSION_LZ4 if VBT_CBFS_COMPRESSION_DEFAULT_LZ4
default VBT_CBFS_COMPRESSION_NONE if VBT_CBFS_COMPRESSION_DEFAULT_NONE
default VBT_CBFS_COMPRESSION_LZMA
config VBT_CBFS_COMPRESSION_LZMA
bool "Compress VBT with LZMA algorithm"
config VBT_CBFS_COMPRESSION_LZ4
bool "Compress VBT with LZ4 algorithm"
config VBT_CBFS_COMPRESSION_NONE
bool "Do not compress VBT"
endchoice
config VBT_CBFS_COMPRESSION_ALGORITHM
string
default "lzma" if VBT_CBFS_COMPRESSION_LZMA
default "lz4" if VBT_CBFS_COMPRESSION_LZ4
default "none" if VBT_CBFS_COMPRESSION_NONE
config GFX_GMA_ANALOG_I2C_HDMI_B
bool

View File

@ -15,7 +15,7 @@ add_vbt_to_cbfs= \
$(eval cbfs-files-y += $1) \
$(eval $1-file := $2) \
$(eval $1-type := raw) \
$(eval $1-compression := lzma)
$(eval $1-compression := $(call strip_quotes,$(CONFIG_VBT_CBFS_COMPRESSION_ALGORITHM)))
endif
$(call add_vbt_to_cbfs, vbt.bin, $(call strip_quotes,$(CONFIG_INTEL_GMA_VBT_FILE)))