drm: renesas: Add zpos, alpha and blend properties to RZ/G2L DU
authorBiju Das <biju.das.jz@bp.renesas.com>
Fri, 4 Apr 2025 13:30:45 +0000 (14:30 +0100)
committerBiju Das <biju.das.jz@bp.renesas.com>
Fri, 11 Apr 2025 16:02:47 +0000 (17:02 +0100)
Add support for zpos, alpha and blend properties to RZ/G2L DU
driver as the IP supports all these properties.

It is tested by the below modetest commands:

modetest -M rzg2l-du -s 44@42:1920x1080@AR24 -d -P \
37@42:512x300+200+200@XR15

modetest -M rzg2l-du -w {32,37}:alpha:{0,65535}
modetest -M rzg2l-du -w {32,37}:zpos:{0,1}

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Tested-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #On RZ/V2H
Link: https://lore.kernel.org/r/20250404133047.172080-1-biju.das.jz@bp.renesas.com
drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c

index 8643ff2eec46ef7bc72a438d74ccc263626f7d8b..040d4e4aff0001551964f290a060fd56f1505b78 100644 (file)
@@ -340,6 +340,15 @@ int rzg2l_du_vsp_init(struct rzg2l_du_vsp *vsp, struct device_node *np,
 
                drm_plane_helper_add(&plane->plane,
                                     &rzg2l_du_vsp_plane_helper_funcs);
+
+               drm_plane_create_alpha_property(&plane->plane);
+               drm_plane_create_zpos_property(&plane->plane, i, 0,
+                                              num_planes - 1);
+
+               drm_plane_create_blend_mode_property(&plane->plane,
+                                       BIT(DRM_MODE_BLEND_PIXEL_NONE) |
+                                       BIT(DRM_MODE_BLEND_PREMULTI) |
+                                       BIT(DRM_MODE_BLEND_COVERAGE));
        }
 
        return 0;