Kaynağa Gözat

disp: msm: dsi: remove seamless dms flag during active changed

During DSC to Non-DSC switch or viceversa, DMS flag is set
which cannot be treated as seamless during active changed
condition. Hence, DMS flag is removed if set during active
changed condition.

Change-Id: I5ebd33a339aea7d6fab297a4c57ad90eb7bd442c
Signed-off-by: Yashwanth <[email protected]>
Yashwanth 4 yıl önce
ebeveyn
işleme
084a57842a
1 değiştirilmiş dosya ile 8 ekleme ve 0 silme
  1. 8 0
      msm/dsi/dsi_drm.c

+ 8 - 0
msm/dsi/dsi_drm.c

@@ -491,6 +491,14 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge,
 			return false;
 		}
 
+		/*
+		 * DMS Flag if set during active changed condition cannot be
+		 * treated as seamless. Hence, removing DMS flag in such cases.
+		 */
+		if ((dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_DMS) &&
+				crtc_state->active_changed)
+			dsi_mode.dsi_mode_flags &= ~DSI_MODE_FLAG_DMS;
+
 		/* No DMS/VRR when drm pipeline is changing */
 		if (!drm_mode_equal(cur_mode, adjusted_mode) &&
 			(!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR)) &&