[linux] 01/02: Revert recent radeon revisions raising regressions
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Fri Apr 8 00:45:30 UTC 2016
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch jessie-updates
in repository linux.
commit 3bcd7d1a3e57dbc4d907467d2cadd559a9b1c193
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Sun Apr 3 14:20:51 2016 +0100
Revert recent radeon revisions raising regressions
These reverts were both included in 3.16.7-ckt26.
---
debian/changelog | 9 +++++
...t-drm-radeon-call-hpd_irq_event-on-resume.patch | 42 ++++++++++++++++++++++
...radeon-hold-reference-to-fences-in-radeon.patch | 39 ++++++++++++++++++++
debian/patches/series | 2 ++
4 files changed, 92 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index c1c537e..f6cffa4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+linux (3.16.7-ckt25-2) UNRELEASED; urgency=medium
+
+ * Revert "drm/radeon: hold reference to fences in radeon_sa_bo_new"
+ (Closes: #819881)
+ * Revert "drm/radeon: call hpd_irq_event on resume", reported to cause
+ regressions (crash/hang) on some systems
+
+ -- Ben Hutchings <ben at decadent.org.uk> Thu, 07 Apr 2016 22:32:39 +0100
+
linux (3.16.7-ckt25-1) jessie; urgency=medium
* New upstream stable update:
diff --git a/debian/patches/bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch b/debian/patches/bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
new file mode 100644
index 0000000..d393dc2
--- /dev/null
+++ b/debian/patches/bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
@@ -0,0 +1,42 @@
+From: Linus Torvalds <torvalds at linux-foundation.org>
+Date: Mon, 7 Mar 2016 13:15:09 -0800
+Subject: Revert "drm/radeon: call hpd_irq_event on resume"
+Origin: https://git.kernel.org/linus/256faedcfd646161477d47a1a78c32a562d2e845
+
+This reverts commit dbb17a21c131eca94eb31136eee9a7fe5aff00d9.
+
+It turns out that commit can cause problems for systems with multiple
+GPUs, and causes X to hang on at least a HP Pavilion dv7 with hybrid
+graphics.
+
+This got noticed originally in 4.4.4, where this patch had already
+gotten back-ported, but 4.5-rc7 was verified to have the same problem.
+
+Alexander Deucher says:
+ "It looks like you have a muxed system so I suspect what's happening is
+ that one of the display is being reported as connected for both the
+ IGP and the dGPU and then the desktop environment gets confused or
+ there some sort problem in the detect functions since the mux is not
+ switched to the dGPU. I don't see an easy fix unless Dave has any
+ ideas. I'd say just revert for now"
+
+Reported-by: Jörg-Volker Peetz <jvpeetz at web.de>
+Acked-by: Alexander Deucher <Alexander.Deucher at amd.com>
+Cc: Dave Airlie <airlied at gmail.com>
+Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+---
+ drivers/gpu/drm/radeon/radeon_device.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
+index f7296ca6510c..ca470fb17aa4 100644
+--- a/drivers/gpu/drm/radeon/radeon_device.c
++++ b/drivers/gpu/drm/radeon/radeon_device.c
+@@ -1649,7 +1649,6 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
+ }
+
+ drm_kms_helper_poll_enable(dev);
+- drm_helper_hpd_irq_event(dev);
+
+ /* set the power state here in case we are a PX system or headless */
+ if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled)
diff --git a/debian/patches/bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch b/debian/patches/bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch
new file mode 100644
index 0000000..6a61b43
--- /dev/null
+++ b/debian/patches/bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch
@@ -0,0 +1,39 @@
+From: Luis Henriques <luis.henriques at canonical.com>
+Date: Wed, 9 Mar 2016 13:58:27 +0000
+Subject: Revert "drm/radeon: hold reference to fences in radeon_sa_bo_new"
+Origin: http://kernel.ubuntu.com/git/ubuntu/linux.git/commit?id=f80be5a9b1ccf679415676f761bc9efdc3ad13b5
+
+This reverts commit 73187980dfefe5198aadcfdf0a377e461eed2bfa, which was
+commit f6ff4f67cdf8455d0a4226eeeaf5af17c37d05eb upstream.
+
+This patch was triggering a Oops in stable kernel 3.10.99. Christian
+agrees that the patch is correct but "assumes that radeon_fence_unref()
+can safely take NULL as the fence which is not the case for older
+kernels."
+
+Reported-by: Erik Andersen <andersen at codepoet.org>
+Acked-by: Christian König <christian.koenig at amd.com>
+Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
+Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
+---
+ drivers/gpu/drm/radeon/radeon_sa.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/radeon/radeon_sa.c b/drivers/gpu/drm/radeon/radeon_sa.c
+index 15fd57296081..adcf3e2f07da 100644
+--- a/drivers/gpu/drm/radeon/radeon_sa.c
++++ b/drivers/gpu/drm/radeon/radeon_sa.c
+@@ -349,13 +349,8 @@ int radeon_sa_bo_new(struct radeon_device *rdev,
+ /* see if we can skip over some allocations */
+ } while (radeon_sa_bo_next_hole(sa_manager, fences, tries));
+
+- for (i = 0; i < RADEON_NUM_RINGS; ++i)
+- radeon_fence_ref(fences[i]);
+-
+ spin_unlock(&sa_manager->wq.lock);
+ r = radeon_fence_wait_any(rdev, fences, false);
+- for (i = 0; i < RADEON_NUM_RINGS; ++i)
+- radeon_fence_unref(&fences[i]);
+ spin_lock(&sa_manager->wq.lock);
+ /* if we have nothing to wait for block */
+ if (r == -ENOENT) {
diff --git a/debian/patches/series b/debian/patches/series
index 7cd7bb1..cf5b7b1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -656,3 +656,5 @@ debian/crypto-fix-abi-change-in-3.16.7-ckt25.patch
bugfix/all/ip_vti-ip6_vti-do-not-touch-skb-mark-on-xmit.patch
bugfix/all/xfrm-override-skb-mark-with-tunnel-parm.i_key-in-xfr.patch
bugfix/all/ip_vti-ip6_vti-preserve-skb-mark-after-rcv_cb-call.patch
+bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch
+bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list