瀏覽代碼

Merge "disp: msm: sde: allow frame_done count to reach till 2"

qctecmdr 5 年之前
父節點
當前提交
654eed0a06
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      msm/sde/sde_encoder.c

+ 4 - 3
msm/sde/sde_encoder.c

@@ -3107,7 +3107,7 @@ static void sde_encoder_frame_done_callback(
 				SDE_EVT32_VERBOSE(DRMID(drm_enc), i,
 				     atomic_read(&sde_enc->frame_done_cnt[i]));
 				if (!atomic_add_unless(
-					&sde_enc->frame_done_cnt[i], 1, 1)) {
+					&sde_enc->frame_done_cnt[i], 1, 2)) {
 					SDE_EVT32(DRMID(drm_enc), event,
 						ready_phys->intf_idx,
 						SDE_EVTLOG_ERROR);
@@ -3119,7 +3119,7 @@ static void sde_encoder_frame_done_callback(
 			}
 
 			if (topology != SDE_RM_TOPOLOGY_PPSPLIT &&
-			    atomic_read(&sde_enc->frame_done_cnt[i]) != 1)
+			    atomic_read(&sde_enc->frame_done_cnt[i]) == 0)
 				trigger = false;
 		}
 
@@ -3129,7 +3129,8 @@ static void sde_encoder_frame_done_callback(
 					&sde_enc->crtc_frame_event_cb_data,
 					event);
 			for (i = 0; i < sde_enc->num_phys_encs; i++)
-				atomic_set(&sde_enc->frame_done_cnt[i], 0);
+				atomic_add_unless(&sde_enc->frame_done_cnt[i],
+						-1, 0);
 		}
 	} else if (sde_enc->crtc_frame_event_cb) {
 		sde_enc->crtc_frame_event_cb(