From d66ac0ed1cd60a37dc91f805e30e2b1c98888fbc Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 6 Apr 2015 18:34:20 +0000 Subject: [PATCH] [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 --- debian/changelog | 2 + ...ited-color-range-readout-for-hdmi-dp.patch | 61 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 64 insertions(+) create mode 100644 debian/patches/bugfix/x86/drm-i915-add-limited-color-range-readout-for-hdmi-dp.patch diff --git a/debian/changelog b/debian/changelog index 1ccfbfc32..72f33d326 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Wed, 18 Mar 2015 21:07:15 +0000 diff --git a/debian/patches/bugfix/x86/drm-i915-add-limited-color-range-readout-for-hdmi-dp.patch b/debian/patches/bugfix/x86/drm-i915-add-limited-color-range-readout-for-hdmi-dp.patch new file mode 100644 index 000000000..3cd79b0f3 --- /dev/null +++ b/debian/patches/bugfix/x86/drm-i915-add-limited-color-range-readout-for-hdmi-dp.patch @@ -0,0 +1,61 @@ +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +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 +Signed-off-by: Ville Syrjälä +Tested-by: Chris Clayton +Reviewed-by: Daniel Vetter +Signed-off-by: Jani Nikula +--- + 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) diff --git a/debian/patches/series b/debian/patches/series index 957e1653e..970e77bd7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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