summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorTatenda Chipeperekwa <tatendac@codeaurora.org>2016-03-30 11:50:21 -0700
committerJeevan Shriram <jshriram@codeaurora.org>2016-04-26 14:38:12 -0700
commit2adbd1506834754be2ef45334c5744c58bb3a51d (patch)
tree8ef115cba429cac0af05cf45f83ea2878fb38290 /drivers/video
parentf3d7b604a50b5ef062d6b442618ac65bc0fb2178 (diff)
msm: mdss: hdmi: enable scrambler during handoff
Enable scrambler during handoff scenarios in which there is no resolution switch from the bootloader to the kernel. Furthermore, power on the HDMI core before enabling the scrambler to ensure that there is a smooth transition during the handoff without any temporary blinks on the panel. Change-Id: I94dde166dabf2b3260b6cae34bfcdf0e99fe4112 Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/msm/mdss_hdmi_tx.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_tx.c b/drivers/video/fbdev/msm/mdss_hdmi_tx.c
index 97bc1b8fe51a..6d0594b42d0f 100644
--- a/drivers/video/fbdev/msm/mdss_hdmi_tx.c
+++ b/drivers/video/fbdev/msm/mdss_hdmi_tx.c
@@ -3561,6 +3561,12 @@ static int hdmi_tx_power_on(struct mdss_panel_data *panel_data)
panel_info->xres, panel_info->yres,
panel_info->cont_splash_enabled ? " (handoff underway)" : "");
+ rc = hdmi_tx_core_on(hdmi_ctrl);
+ if (rc) {
+ DEV_ERR("%s: hdmi_msm_core_on failed\n", __func__);
+ goto end;
+ }
+
if (hdmi_ctrl->pdata.cont_splash_enabled) {
hdmi_ctrl->pdata.cont_splash_enabled = false;
panel_data->panel_info.cont_splash_enabled = false;
@@ -3574,16 +3580,14 @@ static int hdmi_tx_power_on(struct mdss_panel_data *panel_data)
if (!hdmi_tx_is_hdcp_enabled(hdmi_ctrl))
hdmi_tx_set_audio_switch_node(hdmi_ctrl, 1);
+ if (hdmi_tx_setup_scrambler(hdmi_ctrl))
+ DEV_WARN("%s: Scrambler setup failed\n",
+ __func__);
+
goto end;
}
}
- rc = hdmi_tx_core_on(hdmi_ctrl);
- if (rc) {
- DEV_ERR("%s: hdmi_msm_core_on failed\n", __func__);
- goto end;
- }
-
rc = hdmi_tx_start(hdmi_ctrl);
if (rc) {
DEV_ERR("%s: hdmi_tx_start failed. rc=%d\n",