Browse Source

Merge "disp: msm: sde: prepare encoders during enable commit"

qctecmdr 4 years ago
parent
commit
7dcef410b1
1 changed files with 3 additions and 7 deletions
  1. 3 7
      msm/sde/sde_kms.c

+ 3 - 7
msm/sde/sde_kms.c

@@ -1118,7 +1118,7 @@ static void sde_kms_prepare_commit(struct msm_kms *kms,
 	struct drm_device *dev;
 	struct drm_device *dev;
 	struct drm_encoder *encoder;
 	struct drm_encoder *encoder;
 	struct drm_crtc *crtc;
 	struct drm_crtc *crtc;
-	struct drm_crtc_state *crtc_state;
+	struct drm_crtc_state *cstate;
 	struct sde_vm_ops *vm_ops;
 	struct sde_vm_ops *vm_ops;
 	int i, rc;
 	int i, rc;
 
 
@@ -1144,12 +1144,8 @@ static void sde_kms_prepare_commit(struct msm_kms *kms,
 		sde_kms->first_kickoff = false;
 		sde_kms->first_kickoff = false;
 	}
 	}
 
 
-	for_each_old_crtc_in_state(state, crtc, crtc_state, i) {
-		list_for_each_entry(encoder, &dev->mode_config.encoder_list,
-				head) {
-			if (encoder->crtc != crtc)
-				continue;
-
+	for_each_new_crtc_in_state(state, crtc, cstate, i) {
+		drm_for_each_encoder_mask(encoder, dev, cstate->encoder_mask) {
 			if (sde_encoder_prepare_commit(encoder) == -ETIMEDOUT) {
 			if (sde_encoder_prepare_commit(encoder) == -ETIMEDOUT) {
 				SDE_ERROR("crtc:%d, initiating hw reset\n",
 				SDE_ERROR("crtc:%d, initiating hw reset\n",
 						DRMID(crtc));
 						DRMID(crtc));