diff mbox series

drm: renesas: Add zpos, alpha and blend properties to RZ/G2L DU

Message ID 20250404133047.172080-1-biju.das.jz@bp.renesas.com (mailing list archive)
State New
Headers show
Series drm: renesas: Add zpos, alpha and blend properties to RZ/G2L DU | expand

Commit Message

Biju Das April 4, 2025, 1:30 p.m. UTC
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>
---
 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Tommaso Merciai April 4, 2025, 2:30 p.m. UTC | #1
Hi Biju,

Thank you for the patch.

On Fri, Apr 04, 2025 at 02:30:45PM +0100, Biju Das wrote:
> 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}

Tested on RZ/G3E SoC DU using:

modetest -M rzg2l-du -s 55@53:1920x1080@AR24 -d -P 47@53:512x300+200+200@XR15

modetest -M rzg2l-du -w 47:alpha:0
modetest -M rzg2l-du -w 47:alpha:65535

modetest -M rzg2l-du -w 47:zpos:0
modetest -M rzg2l-du -w 47:zpos:1


Tested-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>

> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
>  drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> index 8643ff2eec46..040d4e4aff00 100644
> --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> @@ -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;
> -- 
> 2.43.0
> 
> 

Thanks & Regards,
Tommaso
Laurent Pinchart April 4, 2025, 8:56 p.m. UTC | #2
Hi Biju,

Thank you for the patch.

On Fri, Apr 04, 2025 at 02:30:45PM +0100, Biju Das wrote:
> 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>
> ---
>  drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> index 8643ff2eec46..040d4e4aff00 100644
> --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> @@ -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));

It's interesting that the driver already handles the alpha, zpos and
blend mode properties set in the state, but doesn't expose those
properties to userspace.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

>  	}
>  
>  	return 0;
Biju Das April 7, 2025, 5:01 p.m. UTC | #3
Hi Laurent,

> -----Original Message-----
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Sent: 04 April 2025 21:57
> Subject: Re: [PATCH] drm: renesas: Add zpos, alpha and blend properties to RZ/G2L DU
> 
> Hi Biju,
> 
> Thank you for the patch.
> 
> On Fri, Apr 04, 2025 at 02:30:45PM +0100, Biju Das wrote:
> > 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>
> > ---
> >  drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> > b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> > index 8643ff2eec46..040d4e4aff00 100644
> > --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> > +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> > @@ -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));
> 
> It's interesting that the driver already handles the alpha, zpos and blend mode properties set in the
> state, but doesn't expose those properties to userspace.

Yes, somehow missed adding alpha, zpos and blend property.

Cheers,
Biju

> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> 
> >  	}
> >
> >  	return 0;
> 
> --
> Regards,
> 
> Laurent Pinchart
Lad, Prabhakar April 7, 2025, 5:03 p.m. UTC | #4
On Fri, Apr 4, 2025 at 2:32 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
>
> 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>
> ---
>  drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #On RZ/V2H

Cheers,
Prabhakar

> diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> index 8643ff2eec46..040d4e4aff00 100644
> --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
> @@ -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;
> --
> 2.43.0
>
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
index 8643ff2eec46..040d4e4aff00 100644
--- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
+++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c
@@ -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;