hdmirx: optimize for hdcp22 [1/1]
authorHang Cheng <hang.cheng@amlogic.com>
Thu, 22 Aug 2019 09:29:49 +0000 (17:29 +0800)
committerTao Zeng <tao.zeng@amlogic.com>
Mon, 26 Aug 2019 09:04:25 +0000 (02:04 -0700)
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 <hang.cheng@amlogic.com>
drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h
drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c

index 379e359..3915a5f 100644 (file)
@@ -47,7 +47,7 @@
  *
  *
  */
-#define RX_VER2 "ver.2019/07/30"
+#define RX_VER2 "ver.2019/08/22"
 
 /*print type*/
 #define        LOG_EN          0x01
index 156c653..23aedcf 100644 (file)
@@ -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);
 }