diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-24 17:54:49 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-05-16 05:58:01 -0400 |
commit | b5a9fa09ead78404a1aae5b652a1965729ba714e (patch) | |
tree | e36115f255edef683ae9613c12e4997c5a601591 /drivers/gpu/drm/i915/intel_display.c | |
parent | 69f5acc839a108bcd0fab040a03a83117ffe4713 (diff) |
drm/i915: state readout and cross checking for limited_color_range
At least on those platforms which have a simple bit and don't rely
on the fully programmable CSC unit to do this.
Note that with the current code this includes CHV, but I guess that
platform will match BYT.
Reviewed-by: Naresh Kumar Kachhi <naresh.kumar.kachhi@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 6240f1f543b9..3a5b2ed53220 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -6062,6 +6062,9 @@ static bool i9xx_get_pipe_config(struct intel_crtc *crtc, | |||
6062 | } | 6062 | } |
6063 | } | 6063 | } |
6064 | 6064 | ||
6065 | if (IS_VALLEYVIEW(dev) && (tmp & PIPECONF_COLOR_RANGE_SELECT)) | ||
6066 | pipe_config->limited_color_range = true; | ||
6067 | |||
6065 | if (INTEL_INFO(dev)->gen < 4) | 6068 | if (INTEL_INFO(dev)->gen < 4) |
6066 | pipe_config->double_wide = tmp & PIPECONF_DOUBLE_WIDE; | 6069 | pipe_config->double_wide = tmp & PIPECONF_DOUBLE_WIDE; |
6067 | 6070 | ||
@@ -7068,6 +7071,9 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc, | |||
7068 | break; | 7071 | break; |
7069 | } | 7072 | } |
7070 | 7073 | ||
7074 | if (tmp & PIPECONF_COLOR_RANGE_SELECT) | ||
7075 | pipe_config->limited_color_range = true; | ||
7076 | |||
7071 | if (I915_READ(PCH_TRANSCONF(crtc->pipe)) & TRANS_ENABLE) { | 7077 | if (I915_READ(PCH_TRANSCONF(crtc->pipe)) & TRANS_ENABLE) { |
7072 | struct intel_shared_dpll *pll; | 7078 | struct intel_shared_dpll *pll; |
7073 | 7079 | ||
@@ -9884,6 +9890,9 @@ intel_pipe_config_compare(struct drm_device *dev, | |||
9884 | 9890 | ||
9885 | PIPE_CONF_CHECK_I(pixel_multiplier); | 9891 | PIPE_CONF_CHECK_I(pixel_multiplier); |
9886 | PIPE_CONF_CHECK_I(has_hdmi_sink); | 9892 | PIPE_CONF_CHECK_I(has_hdmi_sink); |
9893 | if ((INTEL_INFO(dev)->gen < 8 && !IS_HASWELL(dev)) || | ||
9894 | IS_VALLEYVIEW(dev)) | ||
9895 | PIPE_CONF_CHECK_I(limited_color_range); | ||
9887 | 9896 | ||
9888 | PIPE_CONF_CHECK_FLAGS(adjusted_mode.flags, | 9897 | PIPE_CONF_CHECK_FLAGS(adjusted_mode.flags, |
9889 | DRM_MODE_FLAG_INTERLACE); | 9898 | DRM_MODE_FLAG_INTERLACE); |