diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c b/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c index 2f58a23b4ea2..a859e520bad9 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c +++ b/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c @@ -1890,6 +1890,13 @@ static int mdss_mdp_cmd_kickoff(struct mdss_mdp_ctl *ctl, void *arg) sctx->current_pp_num); } + mdss_mdp_ctl_perf_set_transaction_status(ctl, + PERF_SW_COMMIT_STATE, PERF_STATUS_DONE); + if (sctl) { + mdss_mdp_ctl_perf_set_transaction_status(sctl, + PERF_SW_COMMIT_STATE, PERF_STATUS_DONE); + } + if (!ctx->autorefresh_pending_frame_cnt && !ctl->cmd_autorefresh_en) { /* Kickoff */ mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_START, 1); @@ -1899,14 +1906,6 @@ static int mdss_mdp_cmd_kickoff(struct mdss_mdp_ctl *ctl, void *arg) ctx->autorefresh_pending_frame_cnt); } - mdss_mdp_ctl_perf_set_transaction_status(ctl, - PERF_SW_COMMIT_STATE, PERF_STATUS_DONE); - - if (sctl) { - mdss_mdp_ctl_perf_set_transaction_status(sctl, - PERF_SW_COMMIT_STATE, PERF_STATUS_DONE); - } - mb(); MDSS_XLOG(ctl->num, ctx->current_pp_num, sctx ? sctx->current_pp_num : -1, atomic_read(&ctx->koff_cnt));