This is a compile time #if for now, to be converted into proper module
parameter (or dropped if there is no more need for that).

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

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 66a1c8889cf3..08b47609a315 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -611,6 +611,7 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms)
        for (i = 0; i < catalog->sspp_count; i++) {
                enum drm_plane_type type;
 
+#if 0
                if ((catalog->sspp[i].features & BIT(DPU_SSPP_CURSOR))
                        && cursor_planes_idx < max_crtc_count)
                        type = DRM_PLANE_TYPE_CURSOR;
@@ -625,6 +626,19 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms)
 
                plane = dpu_plane_init(dev, catalog->sspp[i].id, type,
                                       (1UL << max_crtc_count) - 1);
+#else
+               if (primary_planes_idx < max_crtc_count)
+                       type = DRM_PLANE_TYPE_PRIMARY;
+               else if (cursor_planes_idx < max_crtc_count)
+                       type = DRM_PLANE_TYPE_CURSOR;
+               else
+                       type = DRM_PLANE_TYPE_OVERLAY;
+
+               DPU_DEBUG("Create virtual plane type %d \n", type);
+
+               plane = dpu_plane_init(dev, SSPP_NONE, type,
+                                      (1UL << max_crtc_count) - 1);
+#endif
                if (IS_ERR(plane)) {
                        DPU_ERROR("dpu_plane_init failed\n");
                        ret = PTR_ERR(plane);
-- 
2.30.2

Reply via email to