drm/msm/dpu: don't cache pipe->cap->sblk in dpu_plane
Do not cache hw_pipe's sblk in dpu_plane. Use pdpu->pipe_hw->cap->sblk directly. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org> Link: https://lore.kernel.org/r/20210930140002.308628-11-dmitry.baryshkov@linaro.org Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Rob Clark <robdclark@chromium.org>
This commit is contained in:
parent
701a21ec02
commit
6504f80fe6
|
@ -109,8 +109,6 @@ struct dpu_plane {
|
|||
struct list_head mplane_list;
|
||||
struct dpu_mdss_cfg *catalog;
|
||||
|
||||
const struct dpu_sspp_sub_blks *pipe_sblk;
|
||||
|
||||
/* debugfs related stuff */
|
||||
struct dentry *debugfs_root;
|
||||
struct dpu_debugfs_regset32 debugfs_src;
|
||||
|
@ -425,9 +423,9 @@ static void _dpu_plane_set_qos_ctrl(struct drm_plane *plane,
|
|||
memset(&pipe_qos_cfg, 0, sizeof(pipe_qos_cfg));
|
||||
|
||||
if (flags & DPU_PLANE_QOS_VBLANK_CTRL) {
|
||||
pipe_qos_cfg.creq_vblank = pdpu->pipe_sblk->creq_vblank;
|
||||
pipe_qos_cfg.creq_vblank = pdpu->pipe_hw->cap->sblk->creq_vblank;
|
||||
pipe_qos_cfg.danger_vblank =
|
||||
pdpu->pipe_sblk->danger_vblank;
|
||||
pdpu->pipe_hw->cap->sblk->danger_vblank;
|
||||
pipe_qos_cfg.vblank_en = enable;
|
||||
}
|
||||
|
||||
|
@ -973,10 +971,10 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
|
|||
crtc_state = drm_atomic_get_new_crtc_state(state,
|
||||
new_plane_state->crtc);
|
||||
|
||||
min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxupscale);
|
||||
min_scale = FRAC_16_16(1, pdpu->pipe_hw->cap->sblk->maxupscale);
|
||||
ret = drm_atomic_helper_check_plane_state(new_plane_state, crtc_state,
|
||||
min_scale,
|
||||
pdpu->pipe_sblk->maxdwnscale << 16,
|
||||
pdpu->pipe_hw->cap->sblk->maxdwnscale << 16,
|
||||
true, true);
|
||||
if (ret) {
|
||||
DPU_DEBUG_PLANE(pdpu, "Check plane state failed (%d)\n", ret);
|
||||
|
@ -1618,20 +1616,13 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
|
|||
goto clean_sspp;
|
||||
}
|
||||
|
||||
/* cache features mask for later */
|
||||
pdpu->pipe_sblk = pdpu->pipe_hw->cap->sblk;
|
||||
if (!pdpu->pipe_sblk) {
|
||||
DPU_ERROR("[%u]invalid sblk\n", pipe);
|
||||
goto clean_sspp;
|
||||
}
|
||||
|
||||
if (pdpu->is_virtual) {
|
||||
format_list = pdpu->pipe_sblk->virt_format_list;
|
||||
num_formats = pdpu->pipe_sblk->virt_num_formats;
|
||||
format_list = pdpu->pipe_hw->cap->sblk->virt_format_list;
|
||||
num_formats = pdpu->pipe_hw->cap->sblk->virt_num_formats;
|
||||
}
|
||||
else {
|
||||
format_list = pdpu->pipe_sblk->format_list;
|
||||
num_formats = pdpu->pipe_sblk->num_formats;
|
||||
format_list = pdpu->pipe_hw->cap->sblk->format_list;
|
||||
num_formats = pdpu->pipe_hw->cap->sblk->num_formats;
|
||||
}
|
||||
|
||||
ret = drm_universal_plane_init(dev, plane, 0xff, &dpu_plane_funcs,
|
||||
|
|
Loading…
Reference in New Issue