Loading drivers/video/msm/mdss/mdss_fb.c +1 −1 Original line number Diff line number Diff line Loading @@ -3174,7 +3174,7 @@ static int mdss_fb_pan_display_ex(struct fb_info *info, if (var->yoffset > (info->var.yres_virtual - info->var.yres)) return -EINVAL; ret = mdss_fb_wait_for_kickoff(mfd); ret = mdss_fb_pan_idle(mfd); if (ret) { pr_err("wait_for_kick failed. rc=%d\n", ret); return ret; Loading drivers/video/msm/mdss/mdss_mdp.h +1 −0 Original line number Diff line number Diff line Loading @@ -643,6 +643,7 @@ struct mdss_mdp_ctl { /* vsync handler for FRC */ struct mdss_mdp_vsync_handler frc_vsync_handler; bool commit_in_progress; }; struct mdss_mdp_mixer { Loading drivers/video/msm/mdss/mdss_mdp_ctl.c +11 −4 Original line number Diff line number Diff line Loading @@ -5517,7 +5517,9 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg, } else { sctl_flush_bits = sctl->flush_bits; } sctl->commit_in_progress = true; } ctl->commit_in_progress = true; ctl_flush_bits = ctl->flush_bits; ATRACE_END("postproc_programming"); Loading Loading @@ -5657,11 +5659,16 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg, ATRACE_BEGIN("flush_kickoff"); mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, ctl_flush_bits); if (sctl && sctl_flush_bits) { if (sctl) { if (sctl_flush_bits) { mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_FLUSH, sctl_flush_bits); sctl->flush_bits = 0; } sctl->commit_in_progress = false; } ctl->commit_in_progress = false; MDSS_XLOG(ctl->intf_num, ctl_flush_bits, sctl_flush_bits, split_lm_valid); wmb(); Loading drivers/video/msm/mdss/mdss_mdp_intf_cmd.c +2 −1 Original line number Diff line number Diff line Loading @@ -1206,6 +1206,7 @@ static void mdss_mdp_cmd_pingpong_done(void *arg) atomic_read(&ctx->koff_cnt)); if (sync_ppdone) { atomic_inc(&ctx->pp_done_cnt); if (!ctl->commit_in_progress) schedule_work(&ctx->pp_done_work); mdss_mdp_resource_control(ctl, Loading drivers/video/msm/mdss/mdss_mdp_overlay.c +1 −1 Original line number Diff line number Diff line Loading @@ -2900,7 +2900,6 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd, mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON); mdss_mdp_check_ctl_reset_status(ctl); __vsync_set_vsync_handler(mfd); __validate_and_set_roi(mfd, data); if (ctl->ops.wait_pingpong && mdp5_data->mdata->serialize_wait4pp) Loading Loading @@ -2954,6 +2953,7 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd, &commit_cb); ATRACE_END("display_commit"); } __vsync_set_vsync_handler(mfd); /* * release the commit pending flag; we are releasing this flag Loading Loading
drivers/video/msm/mdss/mdss_fb.c +1 −1 Original line number Diff line number Diff line Loading @@ -3174,7 +3174,7 @@ static int mdss_fb_pan_display_ex(struct fb_info *info, if (var->yoffset > (info->var.yres_virtual - info->var.yres)) return -EINVAL; ret = mdss_fb_wait_for_kickoff(mfd); ret = mdss_fb_pan_idle(mfd); if (ret) { pr_err("wait_for_kick failed. rc=%d\n", ret); return ret; Loading
drivers/video/msm/mdss/mdss_mdp.h +1 −0 Original line number Diff line number Diff line Loading @@ -643,6 +643,7 @@ struct mdss_mdp_ctl { /* vsync handler for FRC */ struct mdss_mdp_vsync_handler frc_vsync_handler; bool commit_in_progress; }; struct mdss_mdp_mixer { Loading
drivers/video/msm/mdss/mdss_mdp_ctl.c +11 −4 Original line number Diff line number Diff line Loading @@ -5517,7 +5517,9 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg, } else { sctl_flush_bits = sctl->flush_bits; } sctl->commit_in_progress = true; } ctl->commit_in_progress = true; ctl_flush_bits = ctl->flush_bits; ATRACE_END("postproc_programming"); Loading Loading @@ -5657,11 +5659,16 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg, ATRACE_BEGIN("flush_kickoff"); mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, ctl_flush_bits); if (sctl && sctl_flush_bits) { if (sctl) { if (sctl_flush_bits) { mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_FLUSH, sctl_flush_bits); sctl->flush_bits = 0; } sctl->commit_in_progress = false; } ctl->commit_in_progress = false; MDSS_XLOG(ctl->intf_num, ctl_flush_bits, sctl_flush_bits, split_lm_valid); wmb(); Loading
drivers/video/msm/mdss/mdss_mdp_intf_cmd.c +2 −1 Original line number Diff line number Diff line Loading @@ -1206,6 +1206,7 @@ static void mdss_mdp_cmd_pingpong_done(void *arg) atomic_read(&ctx->koff_cnt)); if (sync_ppdone) { atomic_inc(&ctx->pp_done_cnt); if (!ctl->commit_in_progress) schedule_work(&ctx->pp_done_work); mdss_mdp_resource_control(ctl, Loading
drivers/video/msm/mdss/mdss_mdp_overlay.c +1 −1 Original line number Diff line number Diff line Loading @@ -2900,7 +2900,6 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd, mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON); mdss_mdp_check_ctl_reset_status(ctl); __vsync_set_vsync_handler(mfd); __validate_and_set_roi(mfd, data); if (ctl->ops.wait_pingpong && mdp5_data->mdata->serialize_wait4pp) Loading Loading @@ -2954,6 +2953,7 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd, &commit_cb); ATRACE_END("display_commit"); } __vsync_set_vsync_handler(mfd); /* * release the commit pending flag; we are releasing this flag Loading