[PATCH v4 06/23] drm/connector: hdmi: Use YUV420 output format as an RGB fallback
Maxime Ripard
mripard at kernel.org
Tue May 13 13:35:35 UTC 2025
Hi,
On Fri, Apr 25, 2025 at 01:26:57PM +0300, Cristian Ciocaltea wrote:
> Try to make use of YUV420 when computing the best output format and
> RGB cannot be supported for any of the available color depths.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>
> ---
> drivers/gpu/drm/display/drm_hdmi_state_helper.c | 22 +++++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> index 9e0a468073acbb2477eff1abef1c09d63620afaa..1fba10b92a6baa49150b6ff1e96bf2c2739bf269 100644
> --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c
> @@ -648,14 +648,26 @@ hdmi_compute_config(const struct drm_connector *connector,
> 8, connector->max_bpc);
> int ret;
>
> - /*
> - * TODO: Add support for YCbCr420 output for HDMI 2.0 capable
> - * devices, for modes that only support YCbCr420.
> - */
> ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc,
> HDMI_COLORSPACE_RGB);
> + if (!ret)
> + return 0;
Sorry, I missed it on the previous iteration, but this condition
inversion compared to the rest of the function is throwing me off :)
I believe something like
If (ret) {
if (connector->ycbcr_420_allowed) {
hdmi_compute_format_bpc(..., HDMI_COLORSPACE_YUV420)
} else {
drm_dbg_kms("Can't use YUV420")
}
}
Would be more natural
Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20250513/09279821/attachment.sig>
More information about the dri-devel
mailing list