Merge tag 'drm-next-2019-07-16' of git://anongit.freedesktop.org/drm/drm
[sfrench/cifs-2.6.git] / drivers / gpu / drm / msm / disp / dpu1 / dpu_plane.c
index 0df80a592eb4d8903f9ab5d5b109901f423d8fd5..45bfac9e3af7bc90b93fc88635effcb3efc7a03b 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/debugfs.h>
 #include <linux/dma-buf.h>
 
+#include <drm/drm_damage_helper.h>
 #include <drm/drm_atomic_uapi.h>
 
 #include "msm_drv.h"
@@ -546,14 +547,9 @@ static void _dpu_plane_setup_scaler(struct dpu_plane *pdpu,
                struct dpu_plane_state *pstate,
                const struct dpu_format *fmt, bool color_fill)
 {
-       uint32_t chroma_subsmpl_h, chroma_subsmpl_v;
+       const struct drm_format_info *info = drm_format_info(fmt->base.pixel_format);
 
        /* don't chroma subsample if decimating */
-       chroma_subsmpl_h =
-               drm_format_horz_chroma_subsampling(fmt->base.pixel_format);
-       chroma_subsmpl_v =
-               drm_format_vert_chroma_subsampling(fmt->base.pixel_format);
-
        /* update scaler. calculate default config for QSEED3 */
        _dpu_plane_setup_scaler3(pdpu, pstate,
                        drm_rect_width(&pdpu->pipe_cfg.src_rect),
@@ -561,7 +557,7 @@ static void _dpu_plane_setup_scaler(struct dpu_plane *pdpu,
                        drm_rect_width(&pdpu->pipe_cfg.dst_rect),
                        drm_rect_height(&pdpu->pipe_cfg.dst_rect),
                        &pstate->scaler3_cfg, fmt,
-                       chroma_subsmpl_h, chroma_subsmpl_v);
+                       info->hsub, info->vsub);
 }
 
 /**
@@ -1318,9 +1314,6 @@ static int _dpu_plane_init_debugfs(struct drm_plane *plane)
                debugfs_create_dir(pdpu->pipe_name,
                                plane->dev->primary->debugfs_root);
 
-       if (!pdpu->debugfs_root)
-               return -ENOMEM;
-
        /* don't error check these */
        debugfs_create_x32("features", 0600,
                        pdpu->debugfs_root, &pdpu->features);
@@ -1529,6 +1522,8 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
        if (ret)
                DPU_ERROR("failed to install zpos property, rc = %d\n", ret);
 
+       drm_plane_enable_fb_damage_clips(plane);
+
        /* success! finalize initialization */
        drm_plane_helper_add(plane, &dpu_plane_helper_funcs);