Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c770307 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: Move PP programming after mdp wait for ping pong done"

parents d0057771 ab6ea6fe
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -5474,7 +5474,7 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
		mdss_mdp_ctl_split_display_enable(split_lm_valid, ctl, sctl);

	ATRACE_BEGIN("postproc_programming");
	if (ctl->mfd && ctl->mfd->dcm_state != DTM_ENTER)
	if (ctl->is_video_mode && ctl->mfd && ctl->mfd->dcm_state != DTM_ENTER)
		/* postprocessing setup, including dspp */
		mdss_mdp_pp_setup_locked(ctl);

@@ -5520,6 +5520,24 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
	if (ctl->ops.wait_pingpong && !mdata->serialize_wait4pp)
		mdss_mdp_display_wait4pingpong(ctl, false);

	/* Moved pp programming to post ping pong */
	if (!ctl->is_video_mode && ctl->mfd &&
			ctl->mfd->dcm_state != DTM_ENTER) {
		/* postprocessing setup, including dspp */
		mutex_lock(&ctl->flush_lock);
		mdss_mdp_pp_setup_locked(ctl);
		if (sctl) {
			if (ctl->split_flush_en) {
				ctl->flush_bits |= sctl->flush_bits;
				sctl->flush_bits = 0;
				sctl_flush_bits = 0;
			} else {
				sctl_flush_bits = sctl->flush_bits;
			}
		}
		ctl_flush_bits = ctl->flush_bits;
		mutex_unlock(&ctl->flush_lock);
	}
	/*
	 * if serialize_wait4pp is false then roi_bkup used in wait4pingpong
	 * will be of previous frame as expected.