Loading drivers/video/msm/mdss/mdss.h +1 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ struct mdss_data_type { struct mdss_fudge_factor ib_factor_overlap; struct mdss_fudge_factor clk_factor; u32 disable_prefill; u32 *clock_levels; u32 nclk_lvl; Loading drivers/video/msm/mdss/mdss_debug.c +3 −0 Original line number Diff line number Diff line Loading @@ -564,6 +564,9 @@ static int mdss_debugfs_perf_init(struct mdss_debug_data *mdd, debugfs_create_u64("min_bus_vote", 0644, mdd->perf, (u64 *)&mdata->perf_tune.min_bus_vote); debugfs_create_u32("disable_prefill", 0644, mdd->perf, (u32 *)&mdata->disable_prefill); debugfs_create_file("disable_panic", 0644, mdd->perf, (struct mdss_data_type *)mdata, &mdss_perf_panic_enable); Loading drivers/video/msm/mdss/mdss_mdp_ctl.c +7 −3 Original line number Diff line number Diff line Loading @@ -359,6 +359,7 @@ int mdss_mdp_perf_calc_pipe(struct mdss_mdp_pipe *pipe, struct mdss_rect src, dst; bool is_fbc = false; struct mdss_mdp_prefill_params prefill_params; struct mdss_data_type *mdata = mdss_mdp_get_mdata(); if (!pipe || !perf || !pipe->mixer_left) return -EINVAL; Loading Loading @@ -462,7 +463,9 @@ int mdss_mdp_perf_calc_pipe(struct mdss_mdp_pipe *pipe, prefill_params.is_hflip = pipe->flags & MDP_FLIP_LR; prefill_params.is_cmd = !mixer->ctl->is_video_mode; if (is_single_layer) if (mdata->disable_prefill != 0) perf->prefill_bytes = 0; else if (is_single_layer) perf->prefill_bytes = mdss_mdp_perf_calc_pipe_prefill_single(&prefill_params); else if (!prefill_params.is_cmd) Loading @@ -472,9 +475,10 @@ int mdss_mdp_perf_calc_pipe(struct mdss_mdp_pipe *pipe, perf->prefill_bytes = mdss_mdp_perf_calc_pipe_prefill_cmd(&prefill_params); pr_debug("mixer=%d pnum=%d clk_rate=%u bw_overlap=%llu prefill=%d\n", pr_debug("mixer=%d pnum=%d clk_rate=%u bw_overlap=%llu prefill=%d %s\n", mixer->num, pipe->num, perf->mdp_clk_rate, perf->bw_overlap, perf->prefill_bytes); perf->prefill_bytes, mdata->disable_prefill ? "prefill is disabled" : ""); return 0; } Loading Loading
drivers/video/msm/mdss/mdss.h +1 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ struct mdss_data_type { struct mdss_fudge_factor ib_factor_overlap; struct mdss_fudge_factor clk_factor; u32 disable_prefill; u32 *clock_levels; u32 nclk_lvl; Loading
drivers/video/msm/mdss/mdss_debug.c +3 −0 Original line number Diff line number Diff line Loading @@ -564,6 +564,9 @@ static int mdss_debugfs_perf_init(struct mdss_debug_data *mdd, debugfs_create_u64("min_bus_vote", 0644, mdd->perf, (u64 *)&mdata->perf_tune.min_bus_vote); debugfs_create_u32("disable_prefill", 0644, mdd->perf, (u32 *)&mdata->disable_prefill); debugfs_create_file("disable_panic", 0644, mdd->perf, (struct mdss_data_type *)mdata, &mdss_perf_panic_enable); Loading
drivers/video/msm/mdss/mdss_mdp_ctl.c +7 −3 Original line number Diff line number Diff line Loading @@ -359,6 +359,7 @@ int mdss_mdp_perf_calc_pipe(struct mdss_mdp_pipe *pipe, struct mdss_rect src, dst; bool is_fbc = false; struct mdss_mdp_prefill_params prefill_params; struct mdss_data_type *mdata = mdss_mdp_get_mdata(); if (!pipe || !perf || !pipe->mixer_left) return -EINVAL; Loading Loading @@ -462,7 +463,9 @@ int mdss_mdp_perf_calc_pipe(struct mdss_mdp_pipe *pipe, prefill_params.is_hflip = pipe->flags & MDP_FLIP_LR; prefill_params.is_cmd = !mixer->ctl->is_video_mode; if (is_single_layer) if (mdata->disable_prefill != 0) perf->prefill_bytes = 0; else if (is_single_layer) perf->prefill_bytes = mdss_mdp_perf_calc_pipe_prefill_single(&prefill_params); else if (!prefill_params.is_cmd) Loading @@ -472,9 +475,10 @@ int mdss_mdp_perf_calc_pipe(struct mdss_mdp_pipe *pipe, perf->prefill_bytes = mdss_mdp_perf_calc_pipe_prefill_cmd(&prefill_params); pr_debug("mixer=%d pnum=%d clk_rate=%u bw_overlap=%llu prefill=%d\n", pr_debug("mixer=%d pnum=%d clk_rate=%u bw_overlap=%llu prefill=%d %s\n", mixer->num, pipe->num, perf->mdp_clk_rate, perf->bw_overlap, perf->prefill_bytes); perf->prefill_bytes, mdata->disable_prefill ? "prefill is disabled" : ""); return 0; } Loading