diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-26 19:44:56 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-27 19:50:07 -0400 |
commit | 50f3b016b055dbc83094bc2d7a91c3c69edbc88b (patch) | |
tree | 1fc07db2382b87c21d9687624ebe855fb4eb4008 /drivers/gpu/drm/i915/intel_hdmi.c | |
parent | 5bfe2ac00395ca37219b7187299cd9d23ae06682 (diff) |
drm/i915: add pipe_config->limited_color_range
Now that we have a useful struct for this, let's use it. Some neat
pointer-chasing required, but it's all there already.
v2: Rebased on top of the added Haswell limited color range support.
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index b588e6c547e2..5508687ea2a6 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -333,6 +333,7 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, | |||
333 | struct drm_display_mode *adjusted_mode) | 333 | struct drm_display_mode *adjusted_mode) |
334 | { | 334 | { |
335 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); | 335 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); |
336 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); | ||
336 | struct dip_infoframe avi_if = { | 337 | struct dip_infoframe avi_if = { |
337 | .type = DIP_TYPE_AVI, | 338 | .type = DIP_TYPE_AVI, |
338 | .ver = DIP_VERSION_AVI, | 339 | .ver = DIP_VERSION_AVI, |
@@ -343,7 +344,7 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, | |||
343 | avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2; | 344 | avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2; |
344 | 345 | ||
345 | if (intel_hdmi->rgb_quant_range_selectable) { | 346 | if (intel_hdmi->rgb_quant_range_selectable) { |
346 | if (adjusted_mode->private_flags & INTEL_MODE_LIMITED_COLOR_RANGE) | 347 | if (intel_crtc->config.limited_color_range) |
347 | avi_if.body.avi.ITC_EC_Q_SC |= DIP_AVI_RGB_QUANT_RANGE_LIMITED; | 348 | avi_if.body.avi.ITC_EC_Q_SC |= DIP_AVI_RGB_QUANT_RANGE_LIMITED; |
348 | else | 349 | else |
349 | avi_if.body.avi.ITC_EC_Q_SC |= DIP_AVI_RGB_QUANT_RANGE_FULL; | 350 | avi_if.body.avi.ITC_EC_Q_SC |= DIP_AVI_RGB_QUANT_RANGE_FULL; |
@@ -785,7 +786,7 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder, | |||
785 | } | 786 | } |
786 | 787 | ||
787 | if (intel_hdmi->color_range) | 788 | if (intel_hdmi->color_range) |
788 | adjusted_mode->private_flags |= INTEL_MODE_LIMITED_COLOR_RANGE; | 789 | pipe_config->limited_color_range = true; |
789 | 790 | ||
790 | if (HAS_PCH_SPLIT(dev) && !HAS_DDI(dev)) | 791 | if (HAS_PCH_SPLIT(dev) && !HAS_DDI(dev)) |
791 | pipe_config->has_pch_encoder = true; | 792 | pipe_config->has_pch_encoder = true; |