When output colorspace is YCBCR420, we have to load the
corresponding colorspace in AVI infoframe. This patch fills
the colorspace of AVI infoframe as per the output mode.

V2: Rebase
V3: Rebase
V4: Rebase
V5: Added r-b from Ander
V6: Checking RGB/YCBCR420 output only (Ville)

Cc: Ville Syrjala <ville.syrj...@linux.intel.com>
Cc: Ander Conselvan de Oliveira <conselv...@gmail.com>

Reviewed-by: Ander Conselvan de Oliveira <conselv...@gmail.com>
Signed-off-by: Shashank Sharma <shashank.sha...@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
b/drivers/gpu/drm/i915/intel_hdmi.c
index 9e8d784..2524ac4 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -461,6 +461,7 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder 
*encoder,
                &crtc_state->base.adjusted_mode;
        struct drm_connector *connector = &intel_hdmi->attached_connector->base;
        bool is_hdmi2_sink = connector->display_info.hdmi.scdc.supported;
+       enum hdmi_colorspace colorspace = HDMI_COLORSPACE_RGB;
        union hdmi_infoframe frame;
        int ret;
 
@@ -472,6 +473,17 @@ static void intel_hdmi_set_avi_infoframe(struct 
drm_encoder *encoder,
                return;
        }
 
+       if (crtc_state->ycbcr420)
+               colorspace = HDMI_COLORSPACE_YUV420;
+
+       ret = drm_hdmi_avi_infoframe_set_colorspace(&frame.avi,
+                                                   adjusted_mode,
+                                                   colorspace);
+       if (ret < 0) {
+               DRM_ERROR("couldn't fill AVI colorspace\n");
+               return;
+       }
+
        drm_hdmi_avi_infoframe_quant_range(&frame.avi, adjusted_mode,
                                           crtc_state->limited_color_range ?
                                           HDMI_QUANTIZATION_RANGE_LIMITED :
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to