Loading drivers/video/msm/mdss/mdss_mdp_intf_cmd.c +7 −1 Original line number Diff line number Diff line Loading @@ -2179,6 +2179,7 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) */ ctx->autorefresh_state = MDP_AUTOREFRESH_ON_REQUESTED; ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; /* Cancel GATE Work Item */ if (cancel_work_sync(&ctx->gate_clk_work)) Loading @@ -2192,8 +2193,10 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) if (frame_cnt == 0) { ctx->autorefresh_state = MDP_AUTOREFRESH_OFF; ctx->autorefresh_frame_cnt = 0; mctl->mdata->serialize_wait4pp = false; } else { ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; } break; case MDP_AUTOREFRESH_ON: Loading @@ -2205,6 +2208,7 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) ctx->autorefresh_state = MDP_AUTOREFRESH_OFF_REQUESTED; } else { ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; } break; case MDP_AUTOREFRESH_OFF_REQUESTED: Loading @@ -2214,6 +2218,7 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) pr_debug("cancelling autorefresh off request\n"); ctx->autorefresh_state = MDP_AUTOREFRESH_ON; ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; } break; default: Loading Loading @@ -2324,7 +2329,7 @@ static void mdss_mdp_cmd_wait4_autorefresh_pp(struct mdss_mdp_ctl *ctl) MDSS_XLOG(ctl->num, line_out, ctl->mixer_left->roi.h); if (line_out < ctl->mixer_left->roi.h) { if ((line_out < ctl->mixer_left->roi.h) && line_out) { reinit_completion(&ctx->autorefresh_ppdone); /* enable ping pong done */ Loading Loading @@ -2576,6 +2581,7 @@ static int mdss_mdp_disable_autorefresh(struct mdss_mdp_ctl *ctl, mdss_mdp_pingpong_write(pp_base, MDSS_MDP_REG_PP_SYNC_CONFIG_VSYNC, cfg); ctl->mdata->serialize_wait4pp = false; return 0; } Loading Loading
drivers/video/msm/mdss/mdss_mdp_intf_cmd.c +7 −1 Original line number Diff line number Diff line Loading @@ -2179,6 +2179,7 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) */ ctx->autorefresh_state = MDP_AUTOREFRESH_ON_REQUESTED; ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; /* Cancel GATE Work Item */ if (cancel_work_sync(&ctx->gate_clk_work)) Loading @@ -2192,8 +2193,10 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) if (frame_cnt == 0) { ctx->autorefresh_state = MDP_AUTOREFRESH_OFF; ctx->autorefresh_frame_cnt = 0; mctl->mdata->serialize_wait4pp = false; } else { ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; } break; case MDP_AUTOREFRESH_ON: Loading @@ -2205,6 +2208,7 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) ctx->autorefresh_state = MDP_AUTOREFRESH_OFF_REQUESTED; } else { ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; } break; case MDP_AUTOREFRESH_OFF_REQUESTED: Loading @@ -2214,6 +2218,7 @@ int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *mctl, int frame_cnt) pr_debug("cancelling autorefresh off request\n"); ctx->autorefresh_state = MDP_AUTOREFRESH_ON; ctx->autorefresh_frame_cnt = frame_cnt; mctl->mdata->serialize_wait4pp = true; } break; default: Loading Loading @@ -2324,7 +2329,7 @@ static void mdss_mdp_cmd_wait4_autorefresh_pp(struct mdss_mdp_ctl *ctl) MDSS_XLOG(ctl->num, line_out, ctl->mixer_left->roi.h); if (line_out < ctl->mixer_left->roi.h) { if ((line_out < ctl->mixer_left->roi.h) && line_out) { reinit_completion(&ctx->autorefresh_ppdone); /* enable ping pong done */ Loading Loading @@ -2576,6 +2581,7 @@ static int mdss_mdp_disable_autorefresh(struct mdss_mdp_ctl *ctl, mdss_mdp_pingpong_write(pp_base, MDSS_MDP_REG_PP_SYNC_CONFIG_VSYNC, cfg); ctl->mdata->serialize_wait4pp = false; return 0; } Loading