From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: "Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
kernel@collabora.com, amd-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
"Marius Vlad" <marius.vlad@collabora.com>
Subject: Re: [PATCH v4 03/10] drm: Add enum conversion from/to HDMI_COLORSPACE to DRM_COLOR_FORMAT
Date: Wed, 19 Nov 2025 13:48:13 +0100 [thread overview]
Message-ID: <3356228.ElGaqSPkdT@workhorse> (raw)
In-Reply-To: <20251119041648.GD10711@pendragon.ideasonboard.com>
On Wednesday, 19 November 2025 05:16:48 Central European Standard Time Laurent Pinchart wrote:
> On Mon, Nov 17, 2025 at 08:11:47PM +0100, Nicolas Frattaroli wrote:
> > From: Marius Vlad <marius.vlad@collabora.com>
> >
> > This would please the compiler to have a enum transformation from one to
> > another even though the values are the same. It should also make things
>
> The hdmi_colorspace enumerators are defined as (with comments added to
> make the values explicit)
>
> enum hdmi_colorspace {
> HDMI_COLORSPACE_RGB, /* 0 */
> HDMI_COLORSPACE_YUV422, /* 1 */
> HDMI_COLORSPACE_YUV444, /* 2 */
> HDMI_COLORSPACE_YUV420, /* 3 */
> HDMI_COLORSPACE_RESERVED4, /* 4 */
> HDMI_COLORSPACE_RESERVED5, /* 5 */
> HDMI_COLORSPACE_RESERVED6, /* 6 */
> HDMI_COLORSPACE_IDO_DEFINED, /* 7 */
> };
>
> and the DRM color formats as (after patch 02/10)
>
> enum drm_color_format {
> DRM_COLOR_FORMAT_NONE = 0, /* 0 */
> DRM_COLOR_FORMAT_RGB444 = (1 << 0), /* 1 */
> DRM_COLOR_FORMAT_YCBCR422 = (1 << 1), /* 2 */
> DRM_COLOR_FORMAT_YCBCR444 = (1 << 2), /* 4 */
> DRM_COLOR_FORMAT_YCBCR420 = (1 << 3), /* 8 */
> /* auto case, driver will set the color_format */
> DRM_COLOR_FORMAT_AUTO = (1 << 4), /* 16 */
> };
>
> Contrary to what is stated in the commit message, the values are not the
> same. Maybe you confused DRM_COLOR_FORMAT_* with DRM_MODE_COLOR_FORMAT_*
> ?
It's possible the equality got lost during my refactor, but I think
the needless enum conversions between like 4 different things should
be minimised anyway, so I'll look into getting rid of as much of this
as possible.
>
> > obvious that we use different enums.
> >
> > Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
> > ---
> > drivers/gpu/drm/drm_connector.c | 18 ++++++++++++++++++
> > include/drm/drm_connector.h | 3 +++
> > 2 files changed, 21 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> > index 0ad7be0a2d09..61c077b67ac3 100644
> > --- a/drivers/gpu/drm/drm_connector.c
> > +++ b/drivers/gpu/drm/drm_connector.c
> > @@ -1384,6 +1384,24 @@ drm_color_format_enum_to_color_format(enum drm_color_format_enum fmt_enum)
> > }
> > }
> >
> > +enum hdmi_colorspace
> > +color_format_to_hdmi_colorspace(enum drm_color_format fmt)
> > +{
> > + switch (fmt) {
> > + default:
> > + case DRM_COLOR_FORMAT_AUTO:
> > + case DRM_COLOR_FORMAT_RGB444:
> > + return HDMI_COLORSPACE_RGB;
> > + case DRM_COLOR_FORMAT_YCBCR444:
> > + return HDMI_COLORSPACE_YUV444;
> > + case DRM_COLOR_FORMAT_YCBCR422:
> > + return HDMI_COLORSPACE_YUV422;
> > + case DRM_COLOR_FORMAT_YCBCR420:
> > + return HDMI_COLORSPACE_YUV420;
> > + }
> > +}
> > +EXPORT_SYMBOL(color_format_to_hdmi_colorspace);
> > +
> > /**
> > * drm_get_color_format_name - return a string for color format
> > * @colorspace: color format to compute name of
> > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> > index a071079fd3ad..e044976c8d76 100644
> > --- a/include/drm/drm_connector.h
> > +++ b/include/drm/drm_connector.h
> > @@ -2586,6 +2586,9 @@ drm_color_format_to_color_format_enum(enum drm_color_format fmt);
> > u32
> > drm_color_format_enum_to_color_format(enum drm_color_format_enum fmt_enum);
> >
> > +enum hdmi_colorspace
> > +color_format_to_hdmi_colorspace(enum drm_color_format fmt);
> > +
> > /**
> > * drm_for_each_connector_iter - connector_list iterator macro
> > * @connector: &struct drm_connector pointer used as cursor
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: "Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
kernel@collabora.com, amd-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
"Marius Vlad" <marius.vlad@collabora.com>
Subject: Re: [PATCH v4 03/10] drm: Add enum conversion from/to HDMI_COLORSPACE to DRM_COLOR_FORMAT
Date: Wed, 19 Nov 2025 13:48:13 +0100 [thread overview]
Message-ID: <3356228.ElGaqSPkdT@workhorse> (raw)
In-Reply-To: <20251119041648.GD10711@pendragon.ideasonboard.com>
On Wednesday, 19 November 2025 05:16:48 Central European Standard Time Laurent Pinchart wrote:
> On Mon, Nov 17, 2025 at 08:11:47PM +0100, Nicolas Frattaroli wrote:
> > From: Marius Vlad <marius.vlad@collabora.com>
> >
> > This would please the compiler to have a enum transformation from one to
> > another even though the values are the same. It should also make things
>
> The hdmi_colorspace enumerators are defined as (with comments added to
> make the values explicit)
>
> enum hdmi_colorspace {
> HDMI_COLORSPACE_RGB, /* 0 */
> HDMI_COLORSPACE_YUV422, /* 1 */
> HDMI_COLORSPACE_YUV444, /* 2 */
> HDMI_COLORSPACE_YUV420, /* 3 */
> HDMI_COLORSPACE_RESERVED4, /* 4 */
> HDMI_COLORSPACE_RESERVED5, /* 5 */
> HDMI_COLORSPACE_RESERVED6, /* 6 */
> HDMI_COLORSPACE_IDO_DEFINED, /* 7 */
> };
>
> and the DRM color formats as (after patch 02/10)
>
> enum drm_color_format {
> DRM_COLOR_FORMAT_NONE = 0, /* 0 */
> DRM_COLOR_FORMAT_RGB444 = (1 << 0), /* 1 */
> DRM_COLOR_FORMAT_YCBCR422 = (1 << 1), /* 2 */
> DRM_COLOR_FORMAT_YCBCR444 = (1 << 2), /* 4 */
> DRM_COLOR_FORMAT_YCBCR420 = (1 << 3), /* 8 */
> /* auto case, driver will set the color_format */
> DRM_COLOR_FORMAT_AUTO = (1 << 4), /* 16 */
> };
>
> Contrary to what is stated in the commit message, the values are not the
> same. Maybe you confused DRM_COLOR_FORMAT_* with DRM_MODE_COLOR_FORMAT_*
> ?
It's possible the equality got lost during my refactor, but I think
the needless enum conversions between like 4 different things should
be minimised anyway, so I'll look into getting rid of as much of this
as possible.
>
> > obvious that we use different enums.
> >
> > Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
> > ---
> > drivers/gpu/drm/drm_connector.c | 18 ++++++++++++++++++
> > include/drm/drm_connector.h | 3 +++
> > 2 files changed, 21 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> > index 0ad7be0a2d09..61c077b67ac3 100644
> > --- a/drivers/gpu/drm/drm_connector.c
> > +++ b/drivers/gpu/drm/drm_connector.c
> > @@ -1384,6 +1384,24 @@ drm_color_format_enum_to_color_format(enum drm_color_format_enum fmt_enum)
> > }
> > }
> >
> > +enum hdmi_colorspace
> > +color_format_to_hdmi_colorspace(enum drm_color_format fmt)
> > +{
> > + switch (fmt) {
> > + default:
> > + case DRM_COLOR_FORMAT_AUTO:
> > + case DRM_COLOR_FORMAT_RGB444:
> > + return HDMI_COLORSPACE_RGB;
> > + case DRM_COLOR_FORMAT_YCBCR444:
> > + return HDMI_COLORSPACE_YUV444;
> > + case DRM_COLOR_FORMAT_YCBCR422:
> > + return HDMI_COLORSPACE_YUV422;
> > + case DRM_COLOR_FORMAT_YCBCR420:
> > + return HDMI_COLORSPACE_YUV420;
> > + }
> > +}
> > +EXPORT_SYMBOL(color_format_to_hdmi_colorspace);
> > +
> > /**
> > * drm_get_color_format_name - return a string for color format
> > * @colorspace: color format to compute name of
> > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> > index a071079fd3ad..e044976c8d76 100644
> > --- a/include/drm/drm_connector.h
> > +++ b/include/drm/drm_connector.h
> > @@ -2586,6 +2586,9 @@ drm_color_format_to_color_format_enum(enum drm_color_format fmt);
> > u32
> > drm_color_format_enum_to_color_format(enum drm_color_format_enum fmt_enum);
> >
> > +enum hdmi_colorspace
> > +color_format_to_hdmi_colorspace(enum drm_color_format fmt);
> > +
> > /**
> > * drm_for_each_connector_iter - connector_list iterator macro
> > * @connector: &struct drm_connector pointer used as cursor
>
>
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2025-11-19 13:46 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-17 19:11 [PATCH v4 00/10] Add new general DRM property "color format" Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-17 19:11 ` [PATCH v4 01/10] drm/amd/display: Remove unnecessary SIGNAL_TYPE_HDMI_TYPE_A check Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-17 19:11 ` [PATCH v4 02/10] drm: Add new general DRM property "color format" Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-18 12:06 ` kernel test robot
2025-11-18 12:06 ` kernel test robot
2025-11-19 4:15 ` Laurent Pinchart
2025-11-19 4:15 ` Laurent Pinchart
2025-11-17 19:11 ` [PATCH v4 03/10] drm: Add enum conversion from/to HDMI_COLORSPACE to DRM_COLOR_FORMAT Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-19 4:16 ` Laurent Pinchart
2025-11-19 4:16 ` Laurent Pinchart
2025-11-19 12:48 ` Nicolas Frattaroli [this message]
2025-11-19 12:48 ` Nicolas Frattaroli
2025-11-17 19:11 ` [PATCH v4 04/10] drm/bridge: Act on the DRM color format property Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-19 4:32 ` Laurent Pinchart
2025-11-19 4:32 ` Laurent Pinchart
2025-11-19 12:50 ` Nicolas Frattaroli
2025-11-19 12:50 ` Nicolas Frattaroli
2025-11-17 19:11 ` [PATCH v4 05/10] drm/bridge: dw-hdmi-qp: Set bridge supported_formats Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-18 20:00 ` Cristian Ciocaltea
2025-11-18 20:00 ` Cristian Ciocaltea
2025-11-19 13:32 ` Nicolas Frattaroli
2025-11-19 13:32 ` Nicolas Frattaroli
2025-11-19 4:17 ` Laurent Pinchart
2025-11-19 4:17 ` Laurent Pinchart
2025-11-17 19:11 ` [PATCH v4 06/10] drm/rockchip: dw_hdmi_qp: Set supported_formats platdata Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-18 20:14 ` Cristian Ciocaltea
2025-11-18 20:14 ` Cristian Ciocaltea
2025-11-19 13:37 ` Nicolas Frattaroli
2025-11-19 13:37 ` Nicolas Frattaroli
2025-11-19 4:17 ` Laurent Pinchart
2025-11-19 4:17 ` Laurent Pinchart
2025-11-17 19:11 ` [PATCH v4 07/10] drm/display: hdmi-state-helper: Act on color format DRM property Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-19 9:09 ` Maxime Ripard
2025-11-19 9:09 ` Maxime Ripard
2025-11-19 12:41 ` Nicolas Frattaroli
2025-11-19 12:41 ` Nicolas Frattaroli
2025-11-20 15:54 ` Maxime Ripard
2025-11-20 15:54 ` Maxime Ripard
2025-11-17 19:11 ` [PATCH v4 08/10] drm/i915: Implement the "color format" " Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-17 19:11 ` [PATCH v4 09/10] drm/amdgpu: Implement " Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-17 19:11 ` [PATCH v4 10/10] drm/rockchip: " Nicolas Frattaroli
2025-11-17 19:11 ` Nicolas Frattaroli
2025-11-19 9:10 ` Maxime Ripard
2025-11-19 9:10 ` Maxime Ripard
2025-11-24 15:20 ` ✗ CI.checkpatch: warning for Add new general DRM property "color format" Patchwork
2025-11-24 15:21 ` ✓ CI.KUnit: success " Patchwork
2025-11-24 15:37 ` ✗ CI.checksparse: warning " Patchwork
2025-11-24 15:58 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-11-24 17:07 ` ✗ Xe.CI.Full: " Patchwork
2025-11-24 21:47 ` ✗ i915.CI.BAT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3356228.ElGaqSPkdT@workhorse \
--to=nicolas.frattaroli@collabora.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andrzej.hajda@intel.com \
--cc=andy.yan@rock-chips.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kernel@collabora.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marius.vlad@collabora.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=rfoss@kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=simona@ffwll.ch \
--cc=siqueira@igalia.com \
--cc=sunpeng.li@amd.com \
--cc=tursulin@ursulin.net \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.