summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/msm/mdss_dp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dp.c b/drivers/video/fbdev/msm/mdss_dp.c
index 153c733fdf43..787a33fd0a5c 100644
--- a/drivers/video/fbdev/msm/mdss_dp.c
+++ b/drivers/video/fbdev/msm/mdss_dp.c
@@ -1559,8 +1559,14 @@ int mdss_dp_on_hpd(struct mdss_dp_drv_pdata *dp_drv)
link_training:
dp_drv->power_on = true;
- while (-EAGAIN == mdss_dp_setup_main_link(dp_drv, true))
+ while (-EAGAIN == mdss_dp_setup_main_link(dp_drv, true)) {
pr_debug("MAIN LINK TRAINING RETRY\n");
+ mdss_dp_mainlink_ctrl(&dp_drv->ctrl_io, false);
+ /* Disable DP mainlink clocks */
+ mdss_dp_disable_mainlink_clocks(dp_drv);
+ /* Enable DP mainlink clocks with reduced link rate */
+ mdss_dp_enable_mainlink_clocks(dp_drv);
+ }
dp_drv->cont_splash = 0;