[x86] drm/i915: Add limited color range readout for HDMI/DP ports on g4x/vlv/chv (Closes: #775217)

svn path=/dists/sid/linux/; revision=22479
This commit is contained in:
Ben Hutchings 2015-04-06 18:34:20 +00:00
parent a1d4845f8f
commit d66ac0ed1c
3 changed files with 64 additions and 0 deletions

2
debian/changelog vendored
View File

@ -192,6 +192,8 @@ linux (3.16.7-ckt9-1) UNRELEASED; urgency=medium
accordingly. Thanks to Milan Kupcevic. (Closes: #781934)
* psmouse: Add support for FocalTech touchpads, thanks to Rafal Ramocki
(Closes: #780971)
* [x86] drm/i915: Add limited color range readout for HDMI/DP ports on
g4x/vlv/chv (Closes: #775217)
-- Ian Campbell <ijc@debian.org> Wed, 18 Mar 2015 21:07:15 +0000

View File

@ -0,0 +1,61 @@
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
Date: Fri, 12 Sep 2014 15:46:29 +0300
Subject: drm/i915: Add limited color range readout for HDMI/DP ports on
g4x/vlv/chv
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://git.kernel.org/linus/8c875fca1a8d76665c60fa141c220cee65f44f5e
The limited color range knob is in the port registers on
g4x and vlv/chv for HDMI, and on g4x for DP. Add the relevant code
to read out the hardware state into pipe config. On vlv/chv the
DP port limited color range knob is in PIPECONF for which we
already have readout code.
Cc: Chris Clayton <chris2553@googlemail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Chris Clayton <chris2553@googlemail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 4 ++++
drivers/gpu/drm/i915/intel_hdmi.c | 7 ++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1606,6 +1606,10 @@ static void intel_dp_get_config(struct i
pipe_config->adjusted_mode.flags |= flags;
+ if (!HAS_PCH_SPLIT(dev) && !IS_VALLEYVIEW(dev) &&
+ tmp & DP_COLOR_RANGE_16_235)
+ pipe_config->limited_color_range = true;
+
pipe_config->has_dp_encoder = true;
intel_dp_get_m_n(crtc, pipe_config);
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -709,7 +709,8 @@ static void intel_hdmi_get_config(struct
struct intel_crtc_config *pipe_config)
{
struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
- struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
+ struct drm_device *dev = encoder->base.dev;
+ struct drm_i915_private *dev_priv = dev->dev_private;
u32 tmp, flags = 0;
int dotclock;
@@ -731,6 +732,10 @@ static void intel_hdmi_get_config(struct
if (tmp & SDVO_AUDIO_ENABLE)
pipe_config->has_audio = true;
+ if (!HAS_PCH_SPLIT(dev) &&
+ tmp & HDMI_COLOR_RANGE_16_235)
+ pipe_config->limited_color_range = true;
+
pipe_config->adjusted_mode.flags |= flags;
if ((tmp & SDVO_COLOR_FORMAT_MASK) == HDMI_COLOR_FORMAT_12bpc)

View File

@ -571,3 +571,4 @@ features/all/psmouse/input-psmouse-remove-hardcoded-touchpad-size-from-th.patch
features/all/psmouse/input-psmouse-ensure-that-focaltech-reports-consiste.patch
features/all/psmouse/input-psmouse-disable-changing-resolution-rate-scale.patch
features/all/psmouse/input-psmouse-disable-palm-detection-in-the-focaltec.patch
bugfix/x86/drm-i915-add-limited-color-range-readout-for-hdmi-dp.patch