aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2016-01-01 19:24:50 +0000
committerBen Hutchings <ben@decadent.org.uk>2016-01-01 19:24:50 +0000
commit50263628e4c71c8c18a47317da22494ffd471a51 (patch)
treec2afffeeca43c41fd3d4ee25032cefadf776b0b5
parent45e2ecad077e7b778c60fff6fc6341469727fa9f (diff)
downloadkernel_replicant_linux-50263628e4c71c8c18a47317da22494ffd471a51.tar.gz
kernel_replicant_linux-50263628e4c71c8c18a47317da22494ffd471a51.tar.bz2
kernel_replicant_linux-50263628e4c71c8c18a47317da22494ffd471a51.zip
[x86] drm/i915: Don't compare has_drrs strictly in pipe config (Closes: #808720)
-rw-r--r--debian/changelog2
-rw-r--r--debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch44
-rw-r--r--debian/patches/series1
3 files changed, 47 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index ddcfbcf8982d..9cf353f1b33e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,8 @@ linux (4.3.3-3) UNRELEASED; urgency=medium
* [armhf] udeb: Add modular clock, GPIO, PHY and regulator drivers to
core-modules (Closes: #809521)
* drm/nouveau/pmu: do not assume a PMU is present (Closes: #809481)
+ * [x86] drm/i915: Don't compare has_drrs strictly in pipe config
+ (Closes: #808720)
[ Salvatore Bonaccorso ]
* ovl: fix permission checking for setattr (CVE-2015-8660)
diff --git a/debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch b/debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch
new file mode 100644
index 000000000000..92c3db3b247d
--- /dev/null
+++ b/debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch
@@ -0,0 +1,44 @@
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 25 Nov 2015 15:26:47 +0100
+Subject: drm/i915: Don't compare has_drrs strictly in pipe config
+Origin: https://git.kernel.org/linus/13b13dfaaa39ab52b0f433c6744f4638793cbf7b
+Bug-Debian: https://bugs.debian.org/808720
+
+The commit [cfb23ed622d0: drm/i915: Allow fuzzy matching in
+pipe_config_compare, v2] relaxed the way to compare the pipe
+configurations, but one new comparison sneaked in there: it added the
+strict has_drrs value check. This causes a regression on many
+machines, typically HP laptops with a docking port, where the kernel
+spews warnings and eventually fails to set the mode properly like:
+ [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in has_drrs (expected 1, found 0)
+ ------------[ cut here ]------------
+ WARNING: CPU: 0 PID: 79 at drivers/gpu/drm/i915/intel_display.c:12700 intel_modeset_check_state+0x5aa/0x870 [i915]()
+ pipe state doesn't match!
+ ....
+
+This patch just removes the check again for fixing the regression.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104041
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92456
+Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=956397
+Fixes: cfb23ed622d0 ('drm/i915: Allow fuzzy matching in pipe_config_compare, v2')
+Cc: <stable@vger.kernel.org> # v4.3+
+Reported-and-tested-by: Max Lin <mlin@suse.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: http://patchwork.freedesktop.org/patch/msgid/1448461607-16868-1-git-send-email-tiwai@suse.de
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+---
+ drivers/gpu/drm/i915/intel_display.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -12427,7 +12427,6 @@ intel_pipe_config_compare(struct drm_dev
+ if (INTEL_INFO(dev)->gen < 8) {
+ PIPE_CONF_CHECK_M_N(dp_m_n);
+
+- PIPE_CONF_CHECK_I(has_drrs);
+ if (current_config->has_drrs)
+ PIPE_CONF_CHECK_M_N(dp_m2_n2);
+ } else
diff --git a/debian/patches/series b/debian/patches/series
index d762ba14d449..5b17d35e174a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -129,3 +129,4 @@ bugfix/all/ptrace-being-capable-wrt-a-process-requires-mapped-uids-gids.patch
bugfix/all/keys-fix-race-between-read-and-revoke.patch
bugfix/x86/KVM-x86-Reload-pit-counters-for-all-channels-when-re.patch
bugfix/all/drm-nouveau-pmu-do-not-assume-a-pmu-is-present.patch
+bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch