Procházet zdrojové kódy

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 <[email protected]>
Signed-off-by: Tatenda Chipeperekwa <[email protected]>
Sankeerth Billakanti před 5 roky
rodič
revize
7424c2352d
1 změnil soubory, kde provedl 1 přidání a 0 odebrání
  1. 1 0
      msm/dp/dp_display.c

+ 1 - 0
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;
 	}