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.ciocal...@collabora.com> --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c index 6de0abb15ecb36fd4eb98725e2a3835e5e0db134..3859600c6af4a79f30858adfc9f9a710dfe561a5 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -650,7 +650,17 @@ hdmi_compute_config(const struct drm_connector *connector, ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc, HDMI_COLORSPACE_RGB); + if (!ret) + return 0; + if (!connector->ycbcr_420_allowed) { + drm_dbg_kms(connector->dev, + "YUV420 output format not allowed for connector.\n"); + return -EINVAL; + } + + ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc, + HDMI_COLORSPACE_YUV420); return ret; } -- 2.49.0