aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Compostella <jeremy.compostella@intel.com>2023-06-22 18:04:47 -0700
committerSubrata Banik <subratabanik@google.com>2023-10-26 17:19:37 +0000
commit7ffd37dcb40c82c18d11e6ea4e121893f4e37e98 (patch)
treef84bc7b9a3725d70e15e6ed54a7897ba57414970
parent434928c3a48188f68d333f4d03a758742bef66bf (diff)
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>
-rw-r--r--src/drivers/intel/gma/Kconfig33
-rw-r--r--src/drivers/intel/gma/Makefile.inc2
2 files changed, 34 insertions, 1 deletions
diff --git a/src/drivers/intel/gma/Kconfig b/src/drivers/intel/gma/Kconfig
index e6704f07bd..47f7617c34 100644
--- a/src/drivers/intel/gma/Kconfig
+++ b/src/drivers/intel/gma/Kconfig
@@ -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
diff --git a/src/drivers/intel/gma/Makefile.inc b/src/drivers/intel/gma/Makefile.inc
index 82535f63f1..269ef5aeb0 100644
--- a/src/drivers/intel/gma/Makefile.inc
+++ b/src/drivers/intel/gma/Makefile.inc
@@ -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)))