diff options
author | Shashank Sharma <[email protected]> | 2017-07-21 20:55:08 +0530 |
---|---|---|
committer | Daniel Vetter <[email protected]> | 2017-07-27 09:38:56 +0200 |
commit | 2d8bd2bf0d8eb752a58784ca890643176f595651 (patch) | |
tree | 75e56ae829d110d36d22576d2570fdff65c87757 | |
parent | 25edf91501b878f548ff1c96692e54684b0f586a (diff) |
drm/i915: set colorspace for YCBCR420 outputs
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
V10: Added r-b from Imre
Cc: Ville Syrjala <[email protected]>
Cc: Ander Conselvan de Oliveira <[email protected]>
Cc: Imre Deak <[email protected]>
Reviewed-by: Ander Conselvan de Oliveira <[email protected]>
Reviewed-by: Ville Syrjala <[email protected]>
Reviewed-by: Imre Deak <[email protected]>
Signed-off-by: Shashank Sharma <[email protected]>
Signed-off-by: Imre Deak <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Daniel Vetter <[email protected]>
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index b0b6dd19a70d..a025a9d08264 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); } |