[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <818cd521-869a-4b27-81fe-cddd242361d0@ideasonboard.com>
Date: Wed, 8 Oct 2025 15:40:58 +0300
From: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
To: Maxime Ripard <mripard@...nel.org>
Cc: Devarsh Thakkar <devarsht@...com>, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>, Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>, Jernej Skrabec <jernej.skrabec@...il.com>,
Jyri Sarha <jyri.sarha@....fi>
Subject: Re: [PATCH 23/29] drm/tidss: dispc: Add format lookup by hw value
Hi,
On 02/09/2025 11:32, Maxime Ripard wrote:
> The tidss dispc driver has a table associating fourcc's and their
> hardware representation.
>
> So far, we only needed to do the fourcc to hardware lookup, but we'll
> need to do the hardware to fourcc lookup in the future, so let's provide
> a function to do so.
>
> Signed-off-by: Maxime Ripard <mripard@...nel.org>
(Assuming this is still needed in the future versions)
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
Tomi
> ---
> drivers/gpu/drm/tidss/tidss_dispc.c | 11 +++++++++++
> drivers/gpu/drm/tidss/tidss_dispc.h | 1 +
> 2 files changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/tidss/tidss_dispc.c b/drivers/gpu/drm/tidss/tidss_dispc.c
> index 7d94c1142e8083dab00fcf5c652ae40f98baeabf..32248b5f71b7566dc33d7a7db0efb26d3a9ed1c3 100644
> --- a/drivers/gpu/drm/tidss/tidss_dispc.c
> +++ b/drivers/gpu/drm/tidss/tidss_dispc.c
> @@ -2117,10 +2117,21 @@ static const struct {
> { DRM_FORMAT_UYVY, 0x3f, },
>
> { DRM_FORMAT_NV12, 0x3d, },
> };
>
> +u32 dispc_plane_find_fourcc_by_dss_code(u8 code)
> +{
> + unsigned int i;
> +
> + for (i = 0; i < ARRAY_SIZE(dispc_color_formats); ++i)
> + if (dispc_color_formats[i].dss_code == code)
> + return dispc_color_formats[i].fourcc;
> +
> + return 0;
> +}
> +
> static void dispc_plane_set_pixel_format(struct dispc_device *dispc,
> u32 hw_plane, u32 fourcc)
> {
> unsigned int i;
>
> diff --git a/drivers/gpu/drm/tidss/tidss_dispc.h b/drivers/gpu/drm/tidss/tidss_dispc.h
> index 60c1b400eb8933dd13efd4ae3d09dc9569eed96f..849ec984026e223de7c8a55a4b5672c2262f38c0 100644
> --- a/drivers/gpu/drm/tidss/tidss_dispc.h
> +++ b/drivers/gpu/drm/tidss/tidss_dispc.h
> @@ -146,10 +146,11 @@ int dispc_plane_check(struct dispc_device *dispc, u32 hw_plane,
> void dispc_plane_setup(struct dispc_device *dispc, u32 hw_plane,
> const struct drm_plane_state *state,
> u32 hw_videoport);
> void dispc_plane_enable(struct dispc_device *dispc, u32 hw_plane, bool enable);
> const u32 *dispc_plane_formats(struct dispc_device *dispc, unsigned int *len);
> +u32 dispc_plane_find_fourcc_by_dss_code(u8 code);
>
> int dispc_init(struct tidss_device *tidss);
> void dispc_remove(struct tidss_device *tidss);
>
> #endif
>
Powered by blists - more mailing lists