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)
V7: Add colorspace info in driver(not drm layer) (Ville)
V8: Rebase
V9: Added r-b from 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>
Reviewed-by: Ville Syrjala <ville.syrj...@linux.intel.com>
Signed-off-by: Shashank Sharma <shashank.sha...@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
b/drivers/gpu/drm/i915/intel_hdmi.c
index 6addef5..bedc6eb 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -472,12 +472,18 @@ static void intel_hdmi_set_avi_infoframe(struct 
drm_encoder *encoder,
                return;
        }
 
+       if (crtc_state->ycbcr420)
+               frame.avi.colorspace = HDMI_COLORSPACE_YUV420;
+       else
+               frame.avi.colorspace = HDMI_COLORSPACE_RGB;
+
        drm_hdmi_avi_infoframe_quant_range(&frame.avi, adjusted_mode,
                                           crtc_state->limited_color_range ?
                                           HDMI_QUANTIZATION_RANGE_LIMITED :
                                           HDMI_QUANTIZATION_RANGE_FULL,
                                           
intel_hdmi->rgb_quant_range_selectable);
 
+       /* TODO: handle pixel repetition for YCBCR420 outputs */
        intel_write_infoframe(encoder, crtc_state, &frame);
 }
 
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to