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

Reply via email to