msm: mdss: hdmi: update hdcp information at hdcp start

Update the hdcp related information when hdcp is started
and not before that. Updating hdcp information depends on
some modules which may not be ready during boot-up resulting
in hdcp failure. Update hdcp information on user thread to
make sure that kernel has completed boot-up and dependent
modules are ready.

Change-Id: I159ec55dbe3d6f109a97a15c2f22d96694727133
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
This commit is contained in:
Ajay Singh Parmar 2015-11-22 12:37:11 -08:00 committed by David Keitel
parent 3f16a65803
commit d2440dd653

View file

@ -1800,8 +1800,6 @@ static void hdmi_tx_hpd_int_work(struct work_struct *work)
if (hdmi_tx_enable_power(hdmi_ctrl, HDMI_TX_DDC_PM, false)) if (hdmi_tx_enable_power(hdmi_ctrl, HDMI_TX_DDC_PM, false))
DEV_ERR("%s: Failed to disable ddc power\n", __func__); DEV_ERR("%s: Failed to disable ddc power\n", __func__);
hdmi_tx_update_hdcp_info(hdmi_ctrl);
hdmi_tx_send_cable_notification(hdmi_ctrl, true); hdmi_tx_send_cable_notification(hdmi_ctrl, true);
} else { } else {
hdmi_tx_set_audio_switch_node(hdmi_ctrl, 0); hdmi_tx_set_audio_switch_node(hdmi_ctrl, 0);
@ -4306,6 +4304,8 @@ static int hdmi_tx_panel_event_handler(struct mdss_panel_data *panel_data,
break; break;
case MDSS_EVENT_PANEL_ON: case MDSS_EVENT_PANEL_ON:
hdmi_tx_update_hdcp_info(hdmi_ctrl);
rc = hdmi_tx_start_hdcp(hdmi_ctrl); rc = hdmi_tx_start_hdcp(hdmi_ctrl);
if (rc) if (rc)
DEV_ERR("%s: hdcp start failed rc=%d\n", __func__, rc); DEV_ERR("%s: hdcp start failed rc=%d\n", __func__, rc);