[PATCH] drm: rcar-du: Add setting to PnALPHAR register on Gen3

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Apr 24 15:31:18 UTC 2022


Hi Biju,

Thank you for the patch.

On Sat, Apr 23, 2022 at 08:37:28AM +0100, Biju Das wrote:
> From: LUU HOAI <hoai.luu.ub at renesas.com>
> 
> In Gen3, when Alpha blend is enabled in the PnMR register,
> depending on the initial value of the PnALPHAR register,
> either channel of DU might be black screen.
> Therefore, this patch prevents the black screen by setting
> the PnALPHAR register to all 0.
> 
> In addition, PnALPHAR register will be released in
> the R-Car Gen3 Hardware Manual Rev 2.4 (Sep. 2021).
> 
> Signed-off-by: LUU HOAI <hoai.luu.ub at renesas.com>
> Signed-off-by: Biju Das <biju.das.jz at bp.renesas.com>
> ---
> This patch is based on [1]
> [1] https://github.com/renesas-rcar/linux-bsp/commit/fcb34fe338cbde0a64919430733541035f20a784
> 
> Not sure this patches has to go with Fixes tag for stable??
> 
> Tested the changes on RZ/G2M board
> 
> root at hihope-rzg2m:/cip-test-scripts#  modetest -M rcar-du -w 54:alpha:55555
> root at hihope-rzg2m:/cip-test-scripts# modetest -M rcar-du -s "93 at 90:1024x768 at AR24" -d -P "54 at 90:400x300+200+200 at XR24"
> setting mode 1024x768-75Hz at AR24 on connectors 93, crtc 90
> testing 400x300 at XR24 overlay plane 54
> ---
>  drivers/gpu/drm/rcar-du/rcar_du_plane.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
> index 5c1c7bb04f3f..aff39b9253f8 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
> @@ -510,6 +510,12 @@ static void rcar_du_plane_setup_format_gen3(struct rcar_du_group *rgrp,
>  
>  	rcar_du_plane_write(rgrp, index, PnDDCR4,
>  			    state->format->edf | PnDDCR4_CODE);
> +
> +	/* In Gen3, PnALPHAR register need to be set to 0
> +	 * to avoid black screen issue when alpha blend is enable
> +	 * on DU module
> +	 */

Comments should start with /* on a line of its own, and you can also
reflow the text to 80 columns:

	/*
	 * In Gen3, PnALPHAR register need to be set to 0 to avoid black screen
	 * issue when alpha blend is enable on DU module.
	 */

It would however be nicer to document the exact behaviour, but the
latest version of the documentation I have access to is rev 2.3 and it
lists PnALPHAR as not available on Gen3.

Furthermore, is this really the right fix, shouldn't we instead avoid
enabling alpha-blending in PnMR on Gen3 ?

> +	rcar_du_plane_write(rgrp, index, PnALPHAR, 0x00000000);
>  }
>  
>  static void rcar_du_plane_setup_format(struct rcar_du_group *rgrp,

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list