Do not cache hw_pipe's features in dpu_plane. Use
pdpu->pipe_hw->cap->features directly.

Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index 521ae699dc5a..cf45a86877e2 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -100,7 +100,6 @@ struct dpu_plane {
        struct mutex lock;
 
        enum dpu_sspp pipe;
-       uint32_t features;      /* capabilities from catalog */
 
        struct dpu_hw_pipe *pipe_hw;
        uint32_t color_fill;
@@ -624,7 +623,7 @@ static void _dpu_plane_setup_csc(struct dpu_plane *pdpu)
                return;
        }
 
-       if (BIT(DPU_SSPP_CSC_10BIT) & pdpu->features)
+       if (BIT(DPU_SSPP_CSC_10BIT) & pdpu->pipe_hw->cap->features)
                pdpu->csc_ptr = (struct dpu_csc_cfg *)&dpu_csc10_YUV2RGB_601L;
        else
                pdpu->csc_ptr = (struct dpu_csc_cfg *)&dpu_csc_YUV2RGB_601L;
@@ -972,8 +971,8 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
        min_src_size = DPU_FORMAT_IS_YUV(fmt) ? 2 : 1;
 
        if (DPU_FORMAT_IS_YUV(fmt) &&
-               (!(pdpu->features & DPU_SSPP_SCALER) ||
-                !(pdpu->features & (BIT(DPU_SSPP_CSC)
+               (!(pdpu->pipe_hw->cap->features & DPU_SSPP_SCALER) ||
+                !(pdpu->pipe_hw->cap->features & (BIT(DPU_SSPP_CSC)
                 | BIT(DPU_SSPP_CSC_10BIT))))) {
                DPU_DEBUG_PLANE(pdpu,
                                "plane doesn't have scaler/csc for yuv\n");
@@ -1412,8 +1411,8 @@ static int _dpu_plane_init_debugfs(struct drm_plane 
*plane)
                                plane->dev->primary->debugfs_root);
 
        /* don't error check these */
-       debugfs_create_x32("features", 0600,
-                       pdpu->debugfs_root, &pdpu->features);
+       debugfs_create_xul("features", 0600,
+                       pdpu->debugfs_root, (unsigned long 
*)&pdpu->pipe_hw->cap->features);
 
        /* add register dump support */
        dpu_debugfs_setup_regset32(&pdpu->debugfs_src,
@@ -1572,7 +1571,6 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
        }
 
        /* cache features mask for later */
-       pdpu->features = pdpu->pipe_hw->cap->features;
        pdpu->pipe_sblk = pdpu->pipe_hw->cap->sblk;
        if (!pdpu->pipe_sblk) {
                DPU_ERROR("[%u]invalid sblk\n", pipe);
-- 
2.30.2

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to