Message ID | 20210930140002.308628-3-dmitry.baryshkov@linaro.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | drm/msm/dpu: cleanup plane state | expand |
On 2021-09-30 06:59, Dmitry Baryshkov wrote: > The pipe_qos_cfg is used only in _dpu_plane_set_qos_ctrl(), so remove > it > from the dpu_plane struct and allocate it on stack when necessary. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 30 ++++++++++++----------- > 1 file changed, 16 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > index 5e0d06f26e53..88d726133b8b 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > @@ -105,7 +105,6 @@ struct dpu_plane { > > struct dpu_hw_pipe *pipe_hw; > struct dpu_hw_pipe_cfg pipe_cfg; > - struct dpu_hw_pipe_qos_cfg pipe_qos_cfg; > uint32_t color_fill; > bool is_error; > bool is_rt_pipe; > @@ -422,38 +421,41 @@ static void _dpu_plane_set_qos_ctrl(struct > drm_plane *plane, > bool enable, u32 flags) > { > struct dpu_plane *pdpu = to_dpu_plane(plane); > + struct dpu_hw_pipe_qos_cfg pipe_qos_cfg; > + > + memset(&pipe_qos_cfg, 0, sizeof(pipe_qos_cfg)); > > if (flags & DPU_PLANE_QOS_VBLANK_CTRL) { > - pdpu->pipe_qos_cfg.creq_vblank = pdpu->pipe_sblk->creq_vblank; > - pdpu->pipe_qos_cfg.danger_vblank = > + pipe_qos_cfg.creq_vblank = pdpu->pipe_sblk->creq_vblank; > + pipe_qos_cfg.danger_vblank = > pdpu->pipe_sblk->danger_vblank; > - pdpu->pipe_qos_cfg.vblank_en = enable; > + pipe_qos_cfg.vblank_en = enable; > } > > if (flags & DPU_PLANE_QOS_VBLANK_AMORTIZE) { > /* this feature overrules previous VBLANK_CTRL */ > - pdpu->pipe_qos_cfg.vblank_en = false; > - pdpu->pipe_qos_cfg.creq_vblank = 0; /* clear vblank bits */ > + pipe_qos_cfg.vblank_en = false; > + pipe_qos_cfg.creq_vblank = 0; /* clear vblank bits */ > } > > if (flags & DPU_PLANE_QOS_PANIC_CTRL) > - pdpu->pipe_qos_cfg.danger_safe_en = enable; > + pipe_qos_cfg.danger_safe_en = enable; > > if (!pdpu->is_rt_pipe) { > - pdpu->pipe_qos_cfg.vblank_en = false; > - pdpu->pipe_qos_cfg.danger_safe_en = false; > + pipe_qos_cfg.vblank_en = false; > + pipe_qos_cfg.danger_safe_en = false; > } > > DPU_DEBUG_PLANE(pdpu, "pnum:%d ds:%d vb:%d pri[0x%x, 0x%x] > is_rt:%d\n", > pdpu->pipe - SSPP_VIG0, > - pdpu->pipe_qos_cfg.danger_safe_en, > - pdpu->pipe_qos_cfg.vblank_en, > - pdpu->pipe_qos_cfg.creq_vblank, > - pdpu->pipe_qos_cfg.danger_vblank, > + pipe_qos_cfg.danger_safe_en, > + pipe_qos_cfg.vblank_en, > + pipe_qos_cfg.creq_vblank, > + pipe_qos_cfg.danger_vblank, > pdpu->is_rt_pipe); > > pdpu->pipe_hw->ops.setup_qos_ctrl(pdpu->pipe_hw, > - &pdpu->pipe_qos_cfg); > + &pipe_qos_cfg); > } > > /**
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c index 5e0d06f26e53..88d726133b8b 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -105,7 +105,6 @@ struct dpu_plane { struct dpu_hw_pipe *pipe_hw; struct dpu_hw_pipe_cfg pipe_cfg; - struct dpu_hw_pipe_qos_cfg pipe_qos_cfg; uint32_t color_fill; bool is_error; bool is_rt_pipe; @@ -422,38 +421,41 @@ static void _dpu_plane_set_qos_ctrl(struct drm_plane *plane, bool enable, u32 flags) { struct dpu_plane *pdpu = to_dpu_plane(plane); + struct dpu_hw_pipe_qos_cfg pipe_qos_cfg; + + memset(&pipe_qos_cfg, 0, sizeof(pipe_qos_cfg)); if (flags & DPU_PLANE_QOS_VBLANK_CTRL) { - pdpu->pipe_qos_cfg.creq_vblank = pdpu->pipe_sblk->creq_vblank; - pdpu->pipe_qos_cfg.danger_vblank = + pipe_qos_cfg.creq_vblank = pdpu->pipe_sblk->creq_vblank; + pipe_qos_cfg.danger_vblank = pdpu->pipe_sblk->danger_vblank; - pdpu->pipe_qos_cfg.vblank_en = enable; + pipe_qos_cfg.vblank_en = enable; } if (flags & DPU_PLANE_QOS_VBLANK_AMORTIZE) { /* this feature overrules previous VBLANK_CTRL */ - pdpu->pipe_qos_cfg.vblank_en = false; - pdpu->pipe_qos_cfg.creq_vblank = 0; /* clear vblank bits */ + pipe_qos_cfg.vblank_en = false; + pipe_qos_cfg.creq_vblank = 0; /* clear vblank bits */ } if (flags & DPU_PLANE_QOS_PANIC_CTRL) - pdpu->pipe_qos_cfg.danger_safe_en = enable; + pipe_qos_cfg.danger_safe_en = enable; if (!pdpu->is_rt_pipe) { - pdpu->pipe_qos_cfg.vblank_en = false; - pdpu->pipe_qos_cfg.danger_safe_en = false; + pipe_qos_cfg.vblank_en = false; + pipe_qos_cfg.danger_safe_en = false; } DPU_DEBUG_PLANE(pdpu, "pnum:%d ds:%d vb:%d pri[0x%x, 0x%x] is_rt:%d\n", pdpu->pipe - SSPP_VIG0, - pdpu->pipe_qos_cfg.danger_safe_en, - pdpu->pipe_qos_cfg.vblank_en, - pdpu->pipe_qos_cfg.creq_vblank, - pdpu->pipe_qos_cfg.danger_vblank, + pipe_qos_cfg.danger_safe_en, + pipe_qos_cfg.vblank_en, + pipe_qos_cfg.creq_vblank, + pipe_qos_cfg.danger_vblank, pdpu->is_rt_pipe); pdpu->pipe_hw->ops.setup_qos_ctrl(pdpu->pipe_hw, - &pdpu->pipe_qos_cfg); + &pipe_qos_cfg); } /**
The pipe_qos_cfg is used only in _dpu_plane_set_qos_ctrl(), so remove it from the dpu_plane struct and allocate it on stack when necessary. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 30 ++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-)