mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
Merge "msm: mdss: decouple clk ctrl and bw ctrl"
This commit is contained in:
commit
931cd378b3
4 changed files with 9 additions and 2 deletions
|
@ -860,8 +860,6 @@ void mdss_mdp_clk_ctrl(int enable)
|
|||
if (mdata->vsync_ena)
|
||||
mdss_mdp_clk_update(MDSS_CLK_MDP_VSYNC, enable);
|
||||
|
||||
mdss_bus_bandwidth_ctrl(enable);
|
||||
|
||||
if (!enable)
|
||||
pm_runtime_put(&mdata->pdev->dev);
|
||||
}
|
||||
|
|
|
@ -216,6 +216,8 @@ static inline void mdss_mdp_cmd_clk_on(struct mdss_mdp_cmd_ctx *ctx)
|
|||
MDSS_XLOG(ctx->pp_num, atomic_read(&ctx->koff_cnt), ctx->clk_enabled,
|
||||
ctx->rdptr_enabled);
|
||||
if (!ctx->clk_enabled) {
|
||||
mdss_bus_bandwidth_ctrl(true);
|
||||
|
||||
ctx->clk_enabled = 1;
|
||||
if (cancel_delayed_work_sync(&ctx->pc_work))
|
||||
pr_debug("deleted pending power collapse work\n");
|
||||
|
@ -273,6 +275,7 @@ static inline void mdss_mdp_cmd_clk_off(struct mdss_mdp_cmd_ctx *ctx)
|
|||
mdss_mdp_ctl_intf_event
|
||||
(ctx->ctl, MDSS_EVENT_PANEL_CLK_CTRL, (void *)0);
|
||||
mdss_iommu_ctrl(0);
|
||||
mdss_bus_bandwidth_ctrl(false);
|
||||
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF);
|
||||
if ((ctx->panel_on) && (mdata->idle_pc_enabled))
|
||||
schedule_delayed_work(&ctx->pc_work,
|
||||
|
|
|
@ -365,6 +365,8 @@ static int mdss_mdp_video_intfs_stop(struct mdss_mdp_ctl *ctl,
|
|||
if (sctl)
|
||||
mdss_mdp_irq_disable(MDSS_MDP_IRQ_INTF_UNDER_RUN,
|
||||
sctl->intf_num);
|
||||
|
||||
mdss_bus_bandwidth_ctrl(false);
|
||||
}
|
||||
|
||||
list_for_each_entry_safe(handle, tmp, &ctx->vsync_handlers, list)
|
||||
|
@ -785,6 +787,8 @@ static int mdss_mdp_video_display(struct mdss_mdp_ctl *ctl, void *arg)
|
|||
mdss_mdp_irq_enable(MDSS_MDP_IRQ_INTF_UNDER_RUN,
|
||||
sctl->intf_num);
|
||||
|
||||
mdss_bus_bandwidth_ctrl(true);
|
||||
|
||||
mdp_video_write(ctx, MDSS_MDP_REG_INTF_TIMING_ENGINE_EN, 1);
|
||||
wmb();
|
||||
|
||||
|
|
|
@ -564,6 +564,7 @@ static int mdss_mdp_wb_wait4comp(struct mdss_mdp_ctl *ctl, void *arg)
|
|||
mdss_mdp_traffic_shaper(ctl, ctx, false);
|
||||
|
||||
mdss_iommu_ctrl(0);
|
||||
mdss_bus_bandwidth_ctrl(false);
|
||||
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF);
|
||||
|
||||
/* Set flag to release Controller Bandwidth */
|
||||
|
@ -648,6 +649,7 @@ static int mdss_mdp_writeback_display(struct mdss_mdp_ctl *ctl, void *arg)
|
|||
return ret;
|
||||
}
|
||||
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON);
|
||||
mdss_bus_bandwidth_ctrl(true);
|
||||
ctx->start_time = ktime_get();
|
||||
mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_START, 1);
|
||||
wmb();
|
||||
|
|
Loading…
Reference in a new issue