drm: rcar-du: Lift z-pos restriction on primary plane for Gen3
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 7 Jun 2022 16:33:22 +0000 (19:33 +0300)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 7 Jul 2022 02:24:36 +0000 (05:24 +0300)
There's no reason to require the primary plane to always be at the
bottom of the stack, as the VSP supports arbitrary ordering of planes,
and the KMS API doesn't have such a requirement either. Lift the
restriction.

As the primary plane can now be positioned arbitrarily, enable control
of its alpha channel as well.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Tomohito Esaki <etom@igel.co.jp>
drivers/gpu/drm/rcar-du/rcar_du_vsp.c

index f41a22d..dbc68cd 100644 (file)
@@ -433,14 +433,9 @@ int rcar_du_vsp_init(struct rcar_du_vsp *vsp, struct device_node *np,
                drm_plane_helper_add(&plane->plane,
                                     &rcar_du_vsp_plane_helper_funcs);
 
-               if (type == DRM_PLANE_TYPE_PRIMARY) {
-                       drm_plane_create_zpos_immutable_property(&plane->plane,
-                                                                0);
-               } else {
-                       drm_plane_create_alpha_property(&plane->plane);
-                       drm_plane_create_zpos_property(&plane->plane, 1, 1,
-                                                      num_planes - 1);
-               }
+               drm_plane_create_alpha_property(&plane->plane);
+               drm_plane_create_zpos_property(&plane->plane, i, 0,
+                                              num_planes - 1);
 
                vsp->num_planes++;
        }