From f6bca6b649c946355f45ab4b8a0d823aa02aa32e Mon Sep 17 00:00:00 2001 From: cengjianeng Date: Fri, 30 Aug 2024 10:25:04 +0800 Subject: mb/google/nissa/var/teliks: Force audio mute to avoid screen flick Panel CSOT MNB601LS1-3 will flicker once during enter Chrome login screen, it is because it inserts 12 blank frames if it receives the unmute in VB-ID. Always override the mute in VB-ID to avoid Tcon EC detected the audiomute_flag change. BUG=b:360243615 BRANCH=firmware-nissa-15217.B TEST:Verfied on Teliks and cannot reproduce the issue Change-Id: Iff488f6844c717ef24069c7176e7b8dfb07d8abc Signed-off-by: Jianeng Ceng Reviewed-on: https://review.coreboot.org/c/coreboot/+/84137 Reviewed-by: Eric Lai Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik Reviewed-by: Qinghong Zeng --- src/mainboard/google/brya/variants/teliks/variant.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/mainboard/google/brya/variants') diff --git a/src/mainboard/google/brya/variants/teliks/variant.c b/src/mainboard/google/brya/variants/teliks/variant.c index 7cc4af8d3f..3f7cfd6e23 100644 --- a/src/mainboard/google/brya/variants/teliks/variant.c +++ b/src/mainboard/google/brya/variants/teliks/variant.c @@ -5,6 +5,11 @@ #include #include #include +#include + +/* Per-pipe DDI Function Control 2 */ +#define TRANS_DDI_FUNC_CTL2_A 0x60404 +#define TRANS_DDI_AUDIO_MUTE_OVERRIDE_BITS_FIELDS (3 << 6) const char *get_wifi_sar_cbfs_filename(void) { @@ -36,3 +41,16 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table) ARRAY_SIZE(wifi_pcie_enable_pad)); } } + +void variant_finalize(void) +{ + /* + * Panel CSOT MNB601LS1-3 will flicker once during enter Chrome login screen, + * it is because it inserts 12 blank frames if it receives the unmute in VB-ID. + * + * Always override the mute in VB-ID to avoid Tcon EC detected the + * audiomute_flag change. + */ + graphics_gtt_rmw(TRANS_DDI_FUNC_CTL2_A, ~TRANS_DDI_AUDIO_MUTE_OVERRIDE_BITS_FIELDS, + TRANS_DDI_AUDIO_MUTE_OVERRIDE_BITS_FIELDS); +} -- cgit v1.2.3