summaryrefslogtreecommitdiff
path: root/msm/dp/dp_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'msm/dp/dp_display.c')
-rw-r--r--msm/dp/dp_display.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c
index be33452b..39eb0799 100644
--- a/msm/dp/dp_display.c
+++ b/msm/dp/dp_display.c
@@ -917,6 +917,8 @@ static void dp_display_clean(struct dp_display_private *dp)
continue;
dp_panel = dp->active_panels[idx];
+ if (dp_panel->audio_supported)
+ dp_panel->audio->off(dp_panel->audio);
dp_display_stream_pre_disable(dp, dp_panel);
dp_display_stream_disable(dp, dp_panel);
@@ -924,6 +926,7 @@ static void dp_display_clean(struct dp_display_private *dp)
}
dp->power_on = false;
+ dp->is_connected = false;
dp->ctrl->off(dp->ctrl);
}
@@ -1026,8 +1029,14 @@ static void dp_display_mst_attention(struct dp_display_private *dp)
if (dp->mst.mst_active && dp->mst.cbs.hpd_irq) {
hpd_irq.mst_hpd_sim = dp->debug->mst_hpd_sim;
+ hpd_irq.mst_sim_add_con = dp->debug->mst_sim_add_con;
+ hpd_irq.mst_sim_remove_con = dp->debug->mst_sim_remove_con;
+ hpd_irq.mst_sim_remove_con_id = dp->debug->mst_sim_remove_con_id;
+ hpd_irq.edid = dp->debug->get_edid(dp->debug);
dp->mst.cbs.hpd_irq(&dp->dp_display, &hpd_irq);
dp->debug->mst_hpd_sim = false;
+ dp->debug->mst_sim_add_con = false;
+ dp->debug->mst_sim_remove_con = false;
}
DP_MST_DEBUG("mst_attention_work. mst_active:%d\n", dp->mst.mst_active);