hdmirx: fixed the pink screen issue when connect with roku box

PD#165686: hdmirx: fixed the pink screen issue when connect with roku box

Change-Id: Ia1723b9e88bcf7dd0773bc301301e682d35a9c5c
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
This commit is contained in:
yicheng shen
2018-05-04 16:58:26 +08:00
committed by Yixun Lan
parent 86d7bfd6fa
commit bf188aa05d
2 changed files with 16 additions and 3 deletions

View File

@@ -41,7 +41,7 @@
*
*
*/
#define RX_VER1 "ver.2018/04/26"
#define RX_VER1 "ver.2018/05/10"

View File

@@ -194,6 +194,7 @@ int pre_port = 0xff;
/*uint32_t irq_flag;*/
/*for some device pll unlock too long,send a hpd reset*/
bool hdmi5v_lost_flag;
static int hdcp_none_wait_max = 100;
#ifndef USE_NEW_FSM_METHODE
int pll_unlock_check_times;
@@ -1153,7 +1154,13 @@ bool is_unnormal_format(uint8_t wait_cnt)
if (log_level & VIDEO_LOG)
rx_pr("hdcp14 unfinished\n");
}
#endif
#endif
if (rx.hdcp.hdcp_version == HDCP_VER_NONE) {
if (wait_cnt < hdcp_none_wait_max)
ret = true;
if (log_level & VIDEO_LOG)
rx_pr("hdcp none waiting\n");
}
return ret;
}
@@ -1508,6 +1515,8 @@ int rx_set_global_variable(const char *buf, int size)
return pr_var(suspend_pddq_sel, index);
if (set_pr_var(tmpbuf, aud_ch_map, value, &index, ret))
return pr_var(aud_ch_map, index);
if (set_pr_var(tmpbuf, hdcp_none_wait_max, value, &index, ret))
return pr_var(hdcp_none_wait_max, index);
return 0;
}
@@ -1606,6 +1615,7 @@ void rx_get_global_variable(const char *buf)
pr_var(atmos_edid_update_hpd_en, i++);
pr_var(suspend_pddq_sel, i++);
pr_var(aud_ch_map, i++);
pr_var(hdcp_none_wait_max, i++);
}
void skip_frame(void)
@@ -2089,7 +2099,10 @@ void rx_main_state_machine(void)
pre_port = rx.port;
rx_set_hpd(1);
set_scdc_cfg(0, 1);
rx.hdcp.hdcp_version = HDCP_VER_NONE;
/* some box init hdcp authentication too early
* and it may make the hdcp_version error
*/
/* rx.hdcp.hdcp_version = HDCP_VER_NONE; */
rx.state = FSM_WAIT_CLK_STABLE;
rx_pr("HPD_HIGH->CLK_STABLE\n");
break;