From 7424c2352d16c366e69e267f4881f7aaca96206b Mon Sep 17 00:00:00 2001 From: Sankeerth Billakanti Date: Tue, 14 Apr 2020 00:05:31 +0530 Subject: [PATCH] disp: msm: dp: clear notification states for dp mst If a DP MST display is connected after a DP SST unplug, the DISCONNECT_NOTIFIED state is not cleared and CONNECT_NOTIFIED state is not set. These states are not relevant for DP MST and hence skipped during the send_notification. But the DISCONNECT_NOTIFIED state that was not cleared from the previous SST unplug will prevent the wait for completion when DP MST is disconnected. This will trigger the host_unready to get executed before the dp_display_disable happens for the DP MST displays. As the result, the dp_display_disable exits early causing all the stream clocks and the panels objects to remain active even after unplug. As CONNECT_NOTIFIED and DISCONNECT_NOTIFIED state are not relevant for DP MST, clearing them if DP MST hpd detected in dp_display. Change-Id: Iaf0e762633eb276e96cb860fda480adb04718eb9 Signed-off-by: Sankeerth Billakanti Signed-off-by: Tatenda Chipeperekwa --- msm/dp/dp_display.c | 1 + 1 file changed, 1 insertion(+) diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c index 4448e0679145..be5c7edcac4b 100644 --- a/msm/dp/dp_display.c +++ b/msm/dp/dp_display.c @@ -723,6 +723,7 @@ static void dp_display_send_hpd_event(struct dp_display_private *dp) if (dp->mst.mst_active) { DP_DEBUG("skip notification for mst mode\n"); + dp_display_state_remove(DP_STATE_DISCONNECT_NOTIFIED); return; }