[Letux-kernel] [PATCH v14 1/9] drm/ingenic: Add support for JZ4780 and HDMI output

Paul Cercueil paul at crapouillou.net
Sat Feb 12 15:44:56 CET 2022


Hi Nikolaus,

Le sam., févr. 12 2022 at 15:19:19 +0100, H. Nikolaus Schaller 
<hns at goldelico.com> a écrit :
> From: Paul Boddie <paul at boddie.org.uk>
> 
> Add support for the LCD controller present on JZ4780 SoCs.
> This SoC uses 8-byte descriptors which extend the current
> 4-byte descriptors used for other Ingenic SoCs.
> 
> Note that plane f0 is not working and disabled to be
> seen from user-space.
> 
> Tested on MIPS Creator CI20 board.

That's not really what the patch does though. It's a fix for a commit 
that has the exact same title and description, and is already merged: 
b807fd2c43fe ("drm/ingenic: Add support for JZ4780 and HDMI output").

Please rewrite the patch's title and description to actually describe 
its purpose.

Cheers,
-Paul

> 
> Signed-off-by: Paul Boddie <paul at boddie.org.uk>
> Signed-off-by: Ezequiel Garcia <ezequiel at collabora.com>
> Signed-off-by: H. Nikolaus Schaller <hns at goldelico.com>
> ---
>  drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c 
> b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> index 7f10d6eed549d..dcf44cb00821f 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> @@ -65,8 +65,10 @@ struct ingenic_dma_hwdescs {
>  struct jz_soc_info {
>  	bool needs_dev_clk;
>  	bool has_osd;
> +	bool has_alpha;
>  	bool map_noncoherent;
>  	bool use_extended_hwdesc;
> +	bool plane_f0_not_working;
>  	unsigned int max_width, max_height;
>  	const u32 *formats_f0, *formats_f1;
>  	unsigned int num_formats_f0, num_formats_f1;
> @@ -453,7 +455,7 @@ static int ingenic_drm_plane_atomic_check(struct 
> drm_plane *plane,
>  	if (!crtc)
>  		return 0;
> 
> -	if (plane == &priv->f0)
> +	if (priv->soc_info->plane_f0_not_working && plane == &priv->f0)
>  		return -EINVAL;
> 
>  	crtc_state = drm_atomic_get_existing_crtc_state(state,
> @@ -1055,6 +1057,7 @@ static int ingenic_drm_bind(struct device *dev, 
> bool has_components)
>  	long parent_rate;
>  	unsigned int i, clone_mask = 0;
>  	int ret, irq;
> +	u32 osdc = 0;
> 
>  	soc_info = of_device_get_match_data(dev);
>  	if (!soc_info) {
> @@ -1312,7 +1315,10 @@ static int ingenic_drm_bind(struct device 
> *dev, bool has_components)
> 
>  	/* Enable OSD if available */
>  	if (soc_info->has_osd)
> -		regmap_write(priv->map, JZ_REG_LCD_OSDC, JZ_LCD_OSDC_OSDEN);
> +		osdc |= JZ_LCD_OSDC_OSDEN;
> +	if (soc_info->has_alpha)
> +		osdc |= JZ_LCD_OSDC_ALPHAEN;
> +	regmap_write(priv->map, JZ_REG_LCD_OSDC, osdc);
> 
>  	mutex_init(&priv->clk_mutex);
>  	priv->clock_nb.notifier_call = ingenic_drm_update_pixclk;
> @@ -1511,7 +1517,9 @@ static const struct jz_soc_info jz4770_soc_info 
> = {
>  static const struct jz_soc_info jz4780_soc_info = {
>  	.needs_dev_clk = true,
>  	.has_osd = true,
> +	.has_alpha = true,
>  	.use_extended_hwdesc = true,
> +	.plane_f0_not_working = true,	/* REVISIT */
>  	.max_width = 4096,
>  	.max_height = 2048,
>  	.formats_f1 = jz4770_formats_f1,
> --
> 2.33.0
> 




More information about the Letux-kernel mailing list