From f71527be08536b6c58d56ecfb2f5ff2669c1a9bf Mon Sep 17 00:00:00 2001 From: yao liu Date: Tue, 26 Nov 2019 09:34:39 +0800 Subject: [PATCH] DV: display black at smpte mode [2/2] PD#SWPL-16027 Problem: last_dst_format is wrong, it is DOVI even if on HDR TV Solution: Correct last_dst_format Verify: sm1 Change-Id: I77648ca989d3ff552cb4040d9f859d970eac7d98 Signed-off-by: yao liu --- .../media/enhancement/amdolby_vision/amdolby_vision.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c b/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c index 8619034932e0..fbf469572fb4 100644 --- a/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c +++ b/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c @@ -7771,7 +7771,6 @@ int register_dv_functions(const struct dolby_vision_func_s *func) dolby_vision_wait_on = false; dolby_vision_wait_init = false; dolby_vision_on_in_uboot = 0; - last_dst_format = FORMAT_DOVI; } if ((!p_funcs_stb || !p_funcs_tv) && func) { @@ -8194,6 +8193,7 @@ unsigned int dolby_vision_check_enable(void) dolby_vision_mode = dv_mode; dolby_vision_status = DV_PROCESS; dolby_vision_ll_policy = DOLBY_VISION_LL_YUV422; + last_dst_format = FORMAT_DOVI; pr_info("dovi enable in uboot and mode is LL 422\n"); } else if ((READ_VPP_DV_REG(DOLBY_CORE3_DIAG_CTRL) & 0xff) == 0x3) { @@ -8203,6 +8203,7 @@ unsigned int dolby_vision_check_enable(void) dolby_vision_mode = dv_mode; dolby_vision_status = DV_PROCESS; dolby_vision_ll_policy = DOLBY_VISION_LL_RGB444; + last_dst_format = FORMAT_DOVI; pr_info("dovi enable in uboot and mode is LL RGB\n"); } else { if (READ_VPP_DV_REG(DOLBY_CORE3_REG_START + 1) @@ -8214,6 +8215,7 @@ unsigned int dolby_vision_check_enable(void) dolby_vision_mode = dv_mode; dolby_vision_status = HDR_PROCESS; pr_info("dovi enable in uboot and mode is HDR10\n"); + last_dst_format = FORMAT_HDR10; } else if (READ_VPP_DV_REG(DOLBY_CORE3_REG_START + 1) == 4) { /*SDR mode*/ @@ -8222,6 +8224,7 @@ unsigned int dolby_vision_check_enable(void) dolby_vision_mode = dv_mode; dolby_vision_status = SDR_PROCESS; pr_info("dovi enable in uboot and mode is SDR\n"); + last_dst_format = FORMAT_SDR; } else { /*STANDARD RGB444 mode*/ dv_mode = dv_mode_table[2]; @@ -8230,6 +8233,7 @@ unsigned int dolby_vision_check_enable(void) dolby_vision_status = DV_PROCESS; dolby_vision_ll_policy = DOLBY_VISION_LL_DISABLE; + last_dst_format = FORMAT_DOVI; pr_info("dovi enable in uboot and mode is DV ST\n"); } }