From 2192810d8aaf9296e43fa4a39deb392b3df3dbb6 Mon Sep 17 00:00:00 2001 From: Sankeerth Billakanti Date: Fri, 28 Feb 2020 11:09:38 +0530 Subject: [PATCH] disp: msm: dp: skip powering down dp host in mst mode If DP is running in mst mode, DP host should not power down during unprepare call as aux need keep alive to handle further hot-plug sideband message. Unless it is a PM suspend scenario where it is required to deinit the host. Change-Id: I208894e1cbc75e727044c196194b0a4e3936921e Signed-off-by: Xiaowen Wu Signed-off-by: Sankeerth Billakanti Signed-off-by: Tatenda Chipeperekwa --- msm/dp/dp_display.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c index 63eb244fb0ea..452c6c94b0da 100644 --- a/msm/dp/dp_display.c +++ b/msm/dp/dp_display.c @@ -2324,9 +2324,13 @@ static int dp_display_unprepare(struct dp_display *dp_display, void *panel) * Check if the power off sequence was triggered * by a source initialated action like framework * reboot or suspend-resume but not from normal - * hot plug. + * hot plug. If connector is in MST mode, skip + * powering down host as aux needs to be kept + * alive to handle hot-plug sideband message. */ - if (dp_display_is_ready(dp)) + if (dp_display_is_ready(dp) && + (dp_display_state_is(DP_STATE_SUSPENDED) || + !dp->mst.mst_active)) flags |= DP_PANEL_SRC_INITIATED_POWER_DOWN; if (dp->active_stream_cnt)