All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Nicolas Frattaroli <nicolas.frattaroli@collabora.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>,
	"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>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Shuah Khan" <skhan@linuxfoundation.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,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH v13 11/27] drm/i915/hdmi: Add YCBCR444 handling for sink formats
Date: Mon, 13 Apr 2026 21:58:22 +0300	[thread overview]
Message-ID: <ad08zqpKbyF--Br3@intel.com> (raw)
In-Reply-To: <20260413-color-format-v13-11-ab37d4dfba48@collabora.com>

On Mon, Apr 13, 2026 at 12:07:25PM +0200, Nicolas Frattaroli wrote:
> In anticipation of userspace being able to explicitly select supported
> sink formats, add handling of the YCBCR444 sink format. The AUTO path
> does not choose this format, but with explicit format selection added to
> the driver, it becomes a possibility.
> 
> Check for YCBCR444 support on the sink in both sink_bpc_possible, and
> sink_format_valid.
> 
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdmi.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 874076a29da4..5ab5b5f85cde 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1966,6 +1966,8 @@ static bool intel_hdmi_sink_bpc_possible(struct drm_connector *_connector,
>  
>  		if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR420)
>  			return hdmi->y420_dc_modes & DRM_EDID_YCBCR420_DC_36;
> +		else if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR444)
> +			return info->edid_hdmi_ycbcr444_dc_modes & DRM_EDID_HDMI_DC_36;
>  		else
>  			return info->edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_36;
>  	case 10:
> @@ -1974,6 +1976,8 @@ static bool intel_hdmi_sink_bpc_possible(struct drm_connector *_connector,
>  
>  		if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR420)
>  			return hdmi->y420_dc_modes & DRM_EDID_YCBCR420_DC_30;
> +		else if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR444)
> +			return info->edid_hdmi_ycbcr444_dc_modes & DRM_EDID_HDMI_DC_30;
>  		else
>  			return info->edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30;
>  	case 8:
> @@ -2038,6 +2042,11 @@ intel_hdmi_sink_format_valid(struct intel_connector *connector,
>  
>  		return MODE_OK;
>  	case INTEL_OUTPUT_FORMAT_RGB:
> +		return MODE_OK;
> +	case INTEL_OUTPUT_FORMAT_YCBCR444:

We'll also want the !has_hdmi_sink check here like for 4:2:0.

And I think we also want something to mirror the ycbcr_420_allowed
flag. I guess you could just make it something like:

intel_hdmi_ycbcr_444_allowed(display)
{
	return DISPLAY_VER(display) >= 5 && !HAS_GMCH(display);
}

That can also be reused when setting up the allowed property values.

> +		if (!(info->color_formats & BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444)))
> +			return MODE_BAD;
> +
>  		return MODE_OK;
>  	default:
>  		MISSING_CASE(sink_format);
> 
> -- 
> 2.53.0

-- 
Ville Syrjälä
Intel

WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Nicolas Frattaroli <nicolas.frattaroli@collabora.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>,
	"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>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Shuah Khan" <skhan@linuxfoundation.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,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH v13 11/27] drm/i915/hdmi: Add YCBCR444 handling for sink formats
Date: Mon, 13 Apr 2026 21:58:22 +0300	[thread overview]
Message-ID: <ad08zqpKbyF--Br3@intel.com> (raw)
In-Reply-To: <20260413-color-format-v13-11-ab37d4dfba48@collabora.com>

On Mon, Apr 13, 2026 at 12:07:25PM +0200, Nicolas Frattaroli wrote:
> In anticipation of userspace being able to explicitly select supported
> sink formats, add handling of the YCBCR444 sink format. The AUTO path
> does not choose this format, but with explicit format selection added to
> the driver, it becomes a possibility.
> 
> Check for YCBCR444 support on the sink in both sink_bpc_possible, and
> sink_format_valid.
> 
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdmi.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 874076a29da4..5ab5b5f85cde 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1966,6 +1966,8 @@ static bool intel_hdmi_sink_bpc_possible(struct drm_connector *_connector,
>  
>  		if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR420)
>  			return hdmi->y420_dc_modes & DRM_EDID_YCBCR420_DC_36;
> +		else if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR444)
> +			return info->edid_hdmi_ycbcr444_dc_modes & DRM_EDID_HDMI_DC_36;
>  		else
>  			return info->edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_36;
>  	case 10:
> @@ -1974,6 +1976,8 @@ static bool intel_hdmi_sink_bpc_possible(struct drm_connector *_connector,
>  
>  		if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR420)
>  			return hdmi->y420_dc_modes & DRM_EDID_YCBCR420_DC_30;
> +		else if (sink_format == INTEL_OUTPUT_FORMAT_YCBCR444)
> +			return info->edid_hdmi_ycbcr444_dc_modes & DRM_EDID_HDMI_DC_30;
>  		else
>  			return info->edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30;
>  	case 8:
> @@ -2038,6 +2042,11 @@ intel_hdmi_sink_format_valid(struct intel_connector *connector,
>  
>  		return MODE_OK;
>  	case INTEL_OUTPUT_FORMAT_RGB:
> +		return MODE_OK;
> +	case INTEL_OUTPUT_FORMAT_YCBCR444:

We'll also want the !has_hdmi_sink check here like for 4:2:0.

And I think we also want something to mirror the ycbcr_420_allowed
flag. I guess you could just make it something like:

intel_hdmi_ycbcr_444_allowed(display)
{
	return DISPLAY_VER(display) >= 5 && !HAS_GMCH(display);
}

That can also be reused when setting up the allowed property values.

> +		if (!(info->color_formats & BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444)))
> +			return MODE_BAD;
> +
>  		return MODE_OK;
>  	default:
>  		MISSING_CASE(sink_format);
> 
> -- 
> 2.53.0

-- 
Ville Syrjälä
Intel

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

  reply	other threads:[~2026-04-13 18:58 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-13 10:07 [PATCH v13 00/27] Add new general DRM property "color format" Nicolas Frattaroli
2026-04-13 10:07 ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 01/27] drm/amd/display: Remove unnecessary SIGNAL_TYPE_HDMI_TYPE_A check Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 02/27] drm/display: hdmi-state-helper: Use default case for unsupported formats Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 03/27] drm: Add new general DRM property "color format" Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 04/27] drm/connector: Let connectors have a say in their color format Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 05/27] drm/display: bridge_connector: Use HDMI color format for HDMI conns Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 06/27] drm/bridge: Act on the DRM color format property Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 07/27] drm/atomic-helper: Add HDMI bridge output bus formats helper Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 08/27] drm/display: hdmi-state-helper: Act on color format DRM property Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 09/27] drm/display: hdmi-state-helper: Try subsampling in mode_valid Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 10/27] drm/amdgpu: Implement "color format" DRM property Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 11/27] drm/i915/hdmi: Add YCBCR444 handling for sink formats Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 18:58   ` Ville Syrjälä [this message]
2026-04-13 18:58     ` Ville Syrjälä
2026-04-13 19:04     ` Ville Syrjälä
2026-04-13 19:04       ` Ville Syrjälä
2026-04-13 10:07 ` [PATCH v13 12/27] drm/i915/dp: " Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 19:08   ` Ville Syrjälä
2026-04-13 19:08     ` Ville Syrjälä
2026-04-13 10:07 ` [PATCH v13 13/27] drm/i915: Implement the "color format" DRM property Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 19:21   ` Ville Syrjälä
2026-04-13 19:21     ` Ville Syrjälä
2026-04-13 10:07 ` [PATCH v13 14/27] drm/rockchip: Add YUV422 output mode constants for VOP2 Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 15/27] drm/rockchip: vop2: Add RK3576 to the RG swap special case Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 16/27] drm/rockchip: vop2: Recognise 10-bit YUV422 as YUV format Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 17/27] drm/rockchip: vop2: Set correct output format for RK3576 YUV422 Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 18/27] drm/bridge: dw-hdmi-qp: Use common HDMI output bus fmts helper Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 19/27] drm/rockchip: dw_hdmi_qp: Implement "color format" DRM property Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 20/27] drm/rockchip: dw_hdmi_qp: Set supported_formats platdata Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 21/27] drm/connector: Register color format property on HDMI connectors Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 22/27] drm/tests: hdmi: Add tests for the color_format property Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 23/27] drm/tests: hdmi: Add tests for HDMI helper's mode_valid Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 24/27] drm/tests: bridge: Add KUnit tests for bridge chain format selection Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 25/27] drm/tests: bridge: Add test for HDMI output bus formats helper Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 26/27] drm/bridge: Document bridge chain format selection Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:07 ` [PATCH v13 27/27] drm/connector: Update docs of "colorspace" for color format prop Nicolas Frattaroli
2026-04-13 10:07   ` Nicolas Frattaroli
2026-04-13 10:26 ` [PATCH v13 00/27] Add new general DRM property "color format" Nicolas Frattaroli
2026-04-13 10:26   ` Nicolas Frattaroli
2026-04-13 17:52 ` ✗ Fi.CI.BUILD: failure for Add new general DRM property "color format" (rev10) Patchwork
2026-04-13 18:45 ` [PATCH v13 00/27] Add new general DRM property "color format" Ville Syrjälä
2026-04-13 18:45   ` Ville Syrjälä

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=ad08zqpKbyF--Br3@intel.com \
    --to=ville.syrjala@linux.intel.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=corbet@lwn.net \
    --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-doc@vger.kernel.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=nicolas.frattaroli@collabora.com \
    --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=skhan@linuxfoundation.org \
    --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.