[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2236113.ElGaqSPkdT@kista>
Date: Sun, 24 Apr 2022 22:01:15 +0200
From: Jernej Škrabec <jernej.skrabec@...il.com>
To: Chen-Yu Tsai <wens@...e.org>, Maxime Ripard <mripard@...nel.org>,
Samuel Holland <samuel@...lland.org>
Cc: Samuel Holland <samuel@...lland.org>,
Daniel Vetter <daniel@...ll.ch>,
David Airlie <airlied@...ux.ie>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-sunxi@...ts.linux.dev
Subject: Re: [PATCH v3 09/14] drm/sun4i: Allow VI layers to be primary planes
Dne nedelja, 24. april 2022 ob 18:26:27 CEST je Samuel Holland napisal(a):
> D1's mixer 1 has no UI layers, only a single VI layer. That means the
> mixer can only be used if the primary plane comes from this VI layer.
> Add the code to handle this case.
>
> Signed-off-by: Samuel Holland <samuel@...lland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@...il.com>
Best regards,
Jernej Skrabec
> ---
>
> (no changes since v2)
>
> Changes in v2:
> - Use Jernej's patches for mixer mode setting.
>
> drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/
sun8i_vi_layer.c
> index bb7c43036dfa..f7d0b082d634 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
> @@ -542,6 +542,7 @@ struct sun8i_vi_layer *sun8i_vi_layer_init_one(struct
drm_device *drm,
> struct
sun8i_mixer *mixer,
> int index)
> {
> + enum drm_plane_type type = DRM_PLANE_TYPE_OVERLAY;
> u32 supported_encodings, supported_ranges;
> unsigned int plane_cnt, format_count;
> struct sun8i_vi_layer *layer;
> @@ -560,12 +561,15 @@ struct sun8i_vi_layer *sun8i_vi_layer_init_one(struct
drm_device *drm,
> format_count = ARRAY_SIZE(sun8i_vi_layer_formats);
> }
>
> + if (!mixer->cfg->ui_num && index == 0)
> + type = DRM_PLANE_TYPE_PRIMARY;
> +
> /* possible crtcs are set later */
> ret = drm_universal_plane_init(drm, &layer->plane, 0,
> &sun8i_vi_layer_funcs,
> formats, format_count,
> sun8i_layer_modifiers,
> - DRM_PLANE_TYPE_OVERLAY,
NULL);
> + type, NULL);
> if (ret) {
> dev_err(drm->dev, "Couldn't initialize layer\n");
> return ERR_PTR(ret);
> --
> 2.35.1
>
>
Powered by blists - more mailing lists