All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Maxime Ripard <mripard@kernel.org>
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>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"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>,
	"Dmitry Baryshkov" <lumag@kernel.org>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Rob Herring" <robh@kernel.org>,
	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
Subject: Re: [PATCH v5 05/17] drm/display: hdmi-state-helper: Act on color format DRM property
Date: Thu, 11 Dec 2025 20:42:00 +0100	[thread overview]
Message-ID: <3084118.iZASKD2KPV@workhorse> (raw)
In-Reply-To: <20251209-uptight-radical-chupacabra-ac3d6d@houat>

On Tuesday, 9 December 2025 15:16:58 Central European Standard Time Maxime Ripard wrote:
> On Fri, Nov 28, 2025 at 10:05:41PM +0100, Nicolas Frattaroli wrote:
> > With the introduction of the "color format" DRM property, which allows
> > userspace to request a specific color format, the HDMI state helper
> > should implement this.
> > 
> > Implement it by checking whether the property is set and set to
> > something other than auto. If so, pass the requested color format, and
> > otherwise set RGB.
> > 
> > Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> > ---
> >  drivers/gpu/drm/display/drm_hdmi_state_helper.c | 12 +++++++++++-
> >  1 file changed, 11 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> > index a561f124be99..5da956bdd68c 100644
> > --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> > +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> > @@ -649,11 +649,21 @@ hdmi_compute_config(const struct drm_connector *connector,
> >  	unsigned int max_bpc = clamp_t(unsigned int,
> >  				       conn_state->max_bpc,
> >  				       8, connector->max_bpc);
> > +	enum hdmi_colorspace hdmi_colorspace =
> > +		drm_color_format_to_hdmi_colorspace(conn_state->color_format);
> >  	int ret;
> >  
> >  	ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc,
> > -				      HDMI_COLORSPACE_RGB);
> > +				      hdmi_colorspace);
> >  	if (ret) {
> > +		/* If a color format was explicitly requested, don't fall back */
> > +		if (conn_state->color_format) {
> > +			drm_dbg_kms(connector->dev,
> > +				    "Explicitly set color format '%s' doesn't work.\n",
> > +				    drm_get_color_format_name(conn_state->color_format));
> > +			return ret;
> > +		}
> > +
> 
> I think the following would be more readable:
> 
> 
> if (conn_state->color_format && conn_state->color_format != DRM_COLOR_FORMAT_AUTO) {
>     enum hdmi_colorspace hdmi_colorspace =
>         drm_color_format_to_hdmi_colorspace(conn_state->color_format);
> 
>     return hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc, hdmi_colorspace)
> }
> 
> ret = ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc,
>                                     HDMI_COLORSPACE_RGB);
> 
> ...

I think I get what you mean: if conn_state->color_format is set, return
directly, instead of bailing out in the fallback path. I can do that.

However, `conn_state->color_format && conn_state->color_format != DRM_COLOR_FORMAT_AUTO`
is redundant now as of v5 since DRM_COLOR_FORMAT_AUTO is 0 (and
I use its falsy nature in many other places, and don't intend to
stop doing that).

> 
> Maxime
> 





WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Maxime Ripard <mripard@kernel.org>
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>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"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>,
	"Dmitry Baryshkov" <lumag@kernel.org>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Rob Herring" <robh@kernel.org>,
	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
Subject: Re: [PATCH v5 05/17] drm/display: hdmi-state-helper: Act on color format DRM property
Date: Thu, 11 Dec 2025 20:42:00 +0100	[thread overview]
Message-ID: <3084118.iZASKD2KPV@workhorse> (raw)
In-Reply-To: <20251209-uptight-radical-chupacabra-ac3d6d@houat>

On Tuesday, 9 December 2025 15:16:58 Central European Standard Time Maxime Ripard wrote:
> On Fri, Nov 28, 2025 at 10:05:41PM +0100, Nicolas Frattaroli wrote:
> > With the introduction of the "color format" DRM property, which allows
> > userspace to request a specific color format, the HDMI state helper
> > should implement this.
> > 
> > Implement it by checking whether the property is set and set to
> > something other than auto. If so, pass the requested color format, and
> > otherwise set RGB.
> > 
> > Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> > ---
> >  drivers/gpu/drm/display/drm_hdmi_state_helper.c | 12 +++++++++++-
> >  1 file changed, 11 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> > index a561f124be99..5da956bdd68c 100644
> > --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> > +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> > @@ -649,11 +649,21 @@ hdmi_compute_config(const struct drm_connector *connector,
> >  	unsigned int max_bpc = clamp_t(unsigned int,
> >  				       conn_state->max_bpc,
> >  				       8, connector->max_bpc);
> > +	enum hdmi_colorspace hdmi_colorspace =
> > +		drm_color_format_to_hdmi_colorspace(conn_state->color_format);
> >  	int ret;
> >  
> >  	ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc,
> > -				      HDMI_COLORSPACE_RGB);
> > +				      hdmi_colorspace);
> >  	if (ret) {
> > +		/* If a color format was explicitly requested, don't fall back */
> > +		if (conn_state->color_format) {
> > +			drm_dbg_kms(connector->dev,
> > +				    "Explicitly set color format '%s' doesn't work.\n",
> > +				    drm_get_color_format_name(conn_state->color_format));
> > +			return ret;
> > +		}
> > +
> 
> I think the following would be more readable:
> 
> 
> if (conn_state->color_format && conn_state->color_format != DRM_COLOR_FORMAT_AUTO) {
>     enum hdmi_colorspace hdmi_colorspace =
>         drm_color_format_to_hdmi_colorspace(conn_state->color_format);
> 
>     return hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc, hdmi_colorspace)
> }
> 
> ret = ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc,
>                                     HDMI_COLORSPACE_RGB);
> 
> ...

I think I get what you mean: if conn_state->color_format is set, return
directly, instead of bailing out in the fallback path. I can do that.

However, `conn_state->color_format && conn_state->color_format != DRM_COLOR_FORMAT_AUTO`
is redundant now as of v5 since DRM_COLOR_FORMAT_AUTO is 0 (and
I use its falsy nature in many other places, and don't intend to
stop doing that).

> 
> Maxime
> 





_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2025-12-12  8:30 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-28 21:05 [PATCH v5 00/17] Add new general DRM property "color format" Nicolas Frattaroli
2025-11-28 21:05 ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 01/17] drm/amd/display: Remove unnecessary SIGNAL_TYPE_HDMI_TYPE_A check Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 02/17] drm: Add new general DRM property "color format" Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-09 14:11   ` Maxime Ripard
2025-12-09 14:11     ` Maxime Ripard
2025-11-28 21:05 ` [PATCH v5 03/17] drm: Add enum conversion from DRM_COLOR_FORMAT to HDMI_COLORSPACE Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-09 14:12   ` Maxime Ripard
2025-12-09 14:12     ` Maxime Ripard
2025-11-28 21:05 ` [PATCH v5 04/17] drm/bridge: Act on the DRM color format property Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-09 14:27   ` Maxime Ripard
2025-12-09 14:27     ` Maxime Ripard
2025-12-11 19:34     ` Nicolas Frattaroli
2025-12-11 19:34       ` Nicolas Frattaroli
2025-12-12  9:50       ` Maxime Ripard
2025-12-12  9:50         ` Maxime Ripard
2025-12-12 14:45         ` Nicolas Frattaroli
2025-12-12 14:45           ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 05/17] drm/display: hdmi-state-helper: Act on color format DRM property Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-09 14:16   ` Maxime Ripard
2025-12-09 14:16     ` Maxime Ripard
2025-12-11 19:42     ` Nicolas Frattaroli [this message]
2025-12-11 19:42       ` Nicolas Frattaroli
2025-12-12  9:20       ` Maxime Ripard
2025-12-12  9:20         ` Maxime Ripard
2025-11-28 21:05 ` [PATCH v5 06/17] drm/display: hdmi-state-helper: Try subsampling in mode_valid Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-09 14:18   ` Maxime Ripard
2025-12-09 14:18     ` Maxime Ripard
2025-12-11 19:59     ` Nicolas Frattaroli
2025-12-11 19:59       ` Nicolas Frattaroli
2025-12-12  9:29       ` Maxime Ripard
2025-12-12  9:29         ` Maxime Ripard
2025-11-28 21:05 ` [PATCH v5 07/17] drm/i915: Implement the "color format" DRM property Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 08/17] drm/amdgpu: Implement " Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 09/17] drm/rockchip: Add YUV422 output mode constants for VOP2 Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 10/17] drm/rockchip: vop2: Fix YUV444 output Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 11/17] drm/rockchip: vop2: Add RK3576 to the RG swap special case Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 12/17] drm/rockchip: vop2: Recognise 10/12-bit YUV422 as YUV formats Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 13/17] drm/rockchip: vop2: Set correct output format for RK3576 YUV422 Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 14/17] drm/rockchip: dw_hdmi_qp: Implement "color format" DRM property Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 15/17] drm/rockchip: dw_hdmi_qp: Set supported_formats platdata Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-11-28 21:05 ` [PATCH v5 16/17] drm/connector: Register color format property on HDMI connectors Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-09 14:22   ` Maxime Ripard
2025-12-09 14:22     ` Maxime Ripard
2025-11-28 21:05 ` [PATCH v5 17/17] drm/tests: hdmi: Add tests for the color_format property Nicolas Frattaroli
2025-11-28 21:05   ` Nicolas Frattaroli
2025-12-12  9:19   ` Maxime Ripard
2025-12-12  9:19     ` Maxime Ripard
2025-12-12 20:28     ` Nicolas Frattaroli
2025-12-12 20:28       ` Nicolas Frattaroli
2025-11-28 22:12 ` ✓ i915.CI.BAT: success for Add new general DRM property "color format" (rev2) Patchwork
2025-11-28 23:16 ` ✗ i915.CI.Full: failure " Patchwork
     [not found] ` <176436598285.39153.14578789056730747031@a3b018990fe9>
2025-12-01  7:40   ` ✗ Fi.CI.CHECKPATCH: warning " Nicolas Frattaroli
2025-12-01 15:54 ` ✗ CI.checkpatch: " Patchwork
2025-12-01 15:55 ` ✓ CI.KUnit: success " Patchwork
2025-12-01 16:10 ` ✗ CI.checksparse: warning " Patchwork
2025-12-01 16:57 ` ✓ Xe.CI.BAT: success " Patchwork
2025-12-01 18:48 ` ✗ Xe.CI.Full: failure " 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=3084118.iZASKD2KPV@workhorse \
    --to=nicolas.frattaroli@collabora.com \
    --cc=Laurent.pinchart@ideasonboard.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=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=lumag@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=rfoss@kernel.org \
    --cc=robh@kernel.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=s.hauer@pengutronix.de \
    --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.