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

This commit is contained in:
Linux Build Service Account 2016-12-23 03:54:56 -08:00 committed by Gerrit - the friendly Code Review server
commit 7cfca2bce0

View file

@ -5776,7 +5776,7 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
mdss_mdp_ctl_split_display_enable(split_lm_valid, ctl, sctl); mdss_mdp_ctl_split_display_enable(split_lm_valid, ctl, sctl);
ATRACE_BEGIN("postproc_programming"); 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 */ /* postprocessing setup, including dspp */
mdss_mdp_pp_setup_locked(ctl); mdss_mdp_pp_setup_locked(ctl);
@ -5824,6 +5824,24 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
if (ctl->ops.wait_pingpong && !mdata->serialize_wait4pp) if (ctl->ops.wait_pingpong && !mdata->serialize_wait4pp)
mdss_mdp_display_wait4pingpong(ctl, false); 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 * if serialize_wait4pp is false then roi_bkup used in wait4pingpong
* will be of previous frame as expected. * will be of previous frame as expected.