Browse Source

disp: drm: dp: wait for a graceful dp_mst disable

DP MST userspace connect and disconnect notifications
are sent from dp_mst_drm. When a MST disconnect event
is notified from dp_mst_drm, the dp_display skips
sending the disconnect event and proceeds to process
the host unready. This is causing graceful dp display
disable to fail and affect the next dp display enable.

DP driver should ideally wait for the graceful disable
of DP display and then proceed. In this change, the DP
driver will wait for the display disable, if enabled,
before proceeding with host_unready.

Change-Id: Ief6857a9d59bf3995543792c8022245ddeac9ae6
Signed-off-by: Sankeerth Billakanti <[email protected]>
Sankeerth Billakanti 5 years ago
parent
commit
fdd562dc66
1 changed files with 2 additions and 1 deletions
  1. 2 1
      msm/dp/dp_display.c

+ 2 - 1
msm/dp/dp_display.c

@@ -929,7 +929,8 @@ static int dp_display_process_hpd_low(struct dp_display_private *dp)
 
 
 	dp_display_process_mst_hpd_low(dp);
 	dp_display_process_mst_hpd_low(dp);
 
 
-	if (dp_display_state_is(DP_STATE_CONNECT_NOTIFIED) &&
+	if ((dp_display_state_is(DP_STATE_CONNECT_NOTIFIED) ||
+			dp_display_state_is(DP_STATE_ENABLED)) &&
 			!dp->mst.mst_active)
 			!dp->mst.mst_active)
 		rc = dp_display_send_hpd_notification(dp);
 		rc = dp_display_send_hpd_notification(dp);