hdmirx: hdcp1.4 force OESS mode
authoryicheng shen <yicheng.shen@amlogic.com>
Thu, 12 Jul 2018 02:17:25 +0000 (10:17 +0800)
committerYixun Lan <yixun.lan@amlogic.com>
Fri, 13 Jul 2018 03:03:50 +0000 (20:03 -0700)
PD#169940: hdmirx: hdcp1.4 force OESS mode

Force OESS mode to fix Google Chromecast box
flashing black screen issue.

Change-Id: I1768f7b69ac1379166d88f605a4dcfab7a7044ea
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h
drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c
drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_wrapper.c

index 6b13042..029a2ee 100644 (file)
@@ -46,7 +46,7 @@
  *
  *
  */
-#define RX_VER2 "ver.2018/06/27"
+#define RX_VER2 "ver.2018/07/12"
 
 
 /* 50ms timer for hdmirx main loop (HDMI_STATE_CHECK_FREQ is 20) */
index 3ee1ab0..2f59442 100644 (file)
@@ -1069,7 +1069,8 @@ static int DWC_init(void)
        data32 |= (HYST_DVI_TO_HDMI     << 8);
        data32 |= (0    << 6);
        data32 |= (0    << 4);
-       data32 |= (0    << 2);
+       /* Force OESS mode to fix Google Chromecast box black screen issue */
+       data32 |= (1    << 2);
        data32 |= (0    << 0);
        hdmirx_wr_dwc(DWC_HDMI_MODE_RECOVER, data32);
 
index 892b543..f18915b 100644 (file)
@@ -2634,20 +2634,22 @@ unsigned int hdmirx_show_info(unsigned char *buf, int size)
                "TMDS clock: %d\n", hdmirx_get_tmds_clock());
        pos += snprintf(buf+pos, size-pos,
                "Pixel clock: %d\n", hdmirx_get_pixel_clock());
-       /*
-        *if (drmpkt->des_u.tp1.eotf == EOTF_SDR)
-        *      pos += snprintf(buf+pos, size-pos,
-        *              "HDR EOTF: %s\n", "SDR");
-        * else if (drmpkt->des_u.tp1.eotf == EOTF_HDR)
-        *      pos += snprintf(buf+pos, size-pos,
-        *      "HDR EOTF: %s\n", "HDR");
-        * else if (drmpkt->des_u.tp1.eotf == EOTF_SMPTE_ST_2048)
-        *      pos += snprintf(buf+pos, size-pos,
-        *      "HDR EOTF: %s\n", "SMPTE_ST_2048");
-        * pos += snprintf(buf+pos, size-pos,
-        *      "Dolby Vision: %s\n",
-        *      (rx.vs_info_details.dolby_vision?"on":"off"));
-        */
+       if (drmpkt->des_u.tp1.eotf == EOTF_SDR)
+               pos += snprintf(buf+pos, size-pos,
+               "HDR EOTF: %s\n", "SDR");
+       else if (drmpkt->des_u.tp1.eotf == EOTF_HDR)
+               pos += snprintf(buf+pos, size-pos,
+               "HDR EOTF: %s\n", "HDR");
+       else if (drmpkt->des_u.tp1.eotf == EOTF_SMPTE_ST_2048)
+               pos += snprintf(buf+pos, size-pos,
+               "HDR EOTF: %s\n", "SMPTE_ST_2048");
+       else if (drmpkt->des_u.tp1.eotf == EOTF_HLG)
+               pos += snprintf(buf+pos, size-pos,
+               "HDR EOTF: %s\n", "HLG");
+       pos += snprintf(buf+pos, size-pos,
+               "Dolby Vision: %s\n",
+               (rx.vs_info_details.dolby_vision?"on":"off"));
+
        pos += snprintf(buf+pos, size-pos,
                "\n\nAudio info\n\n");
        pos += snprintf(buf+pos, size-pos,