From bcfaffd3b656dc6b15b32f03d6afdd8b5e6d1df5 Mon Sep 17 00:00:00 2001 From: Hang Cheng Date: Thu, 22 Aug 2019 17:29:49 +0800 Subject: [PATCH] hdmirx: optimize for hdcp22 [1/1] PD#SWPL-13130 Problem: on LG UBK80-N DVD, hdcp22 auth passed before esm reset, auth status will be reset, result in black screen Solution: delay hdcp22 auth to after esm reset Verify: TXLX Change-Id: I4e7fe60cf3117712eea5f8b1eec65d544b557a48 Signed-off-by: Hang Cheng --- drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h | 2 +- drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h index 379e3594abea..3915a5f91348 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h @@ -47,7 +47,7 @@ * * */ -#define RX_VER2 "ver.2019/07/30" +#define RX_VER2 "ver.2019/08/22" /*print type*/ #define LOG_EN 0x01 diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c index 156c6532eddc..23aedcf6d683 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c @@ -1701,7 +1701,8 @@ void control_reset(void) void rx_esm_tmdsclk_en(bool en) { hdmirx_wr_bits_top(TOP_CLK_CNTL, HDCP22_TMDSCLK_EN, en); - + if (hdcp22_on) + hdmirx_hdcp22_hpd(en); if (log_level & HDCP_LOG) rx_pr("%s:%d\n", __func__, en); } @@ -1992,7 +1993,8 @@ void hdmirx_20_init(void) /* hdcp2.2 ctl */ if (hdcp22_on) - hdmirx_wr_dwc(DWC_HDCP22_CONTROL, 0x1000); + /* set hdcp_hpd high later */ + hdmirx_wr_dwc(DWC_HDCP22_CONTROL, 0); else hdmirx_wr_dwc(DWC_HDCP22_CONTROL, 2); }