]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Mar 2016 19:54:17 +0000 (11:54 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Mar 2016 19:54:17 +0000 (11:54 -0800)
added patches:
drm-radeon-clean-up-fujitsu-quirks.patch
drm-radeon-hold-reference-to-fences-in-radeon_sa_bo_new.patch

queue-3.14/drm-radeon-clean-up-fujitsu-quirks.patch [new file with mode: 0644]
queue-3.14/drm-radeon-hold-reference-to-fences-in-radeon_sa_bo_new.patch [new file with mode: 0644]
queue-3.14/series

diff --git a/queue-3.14/drm-radeon-clean-up-fujitsu-quirks.patch b/queue-3.14/drm-radeon-clean-up-fujitsu-quirks.patch
new file mode 100644 (file)
index 0000000..e1f1db1
--- /dev/null
@@ -0,0 +1,49 @@
+From 0eb1c3d4084eeb6fb3a703f88d6ce1521f8fcdd1 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 17 Dec 2015 12:52:17 -0500
+Subject: drm/radeon: clean up fujitsu quirks
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 0eb1c3d4084eeb6fb3a703f88d6ce1521f8fcdd1 upstream.
+
+Combine the two quirks.
+
+bug:
+https://bugzilla.kernel.org/show_bug.cgi?id=109481
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/radeon_atombios.c |   12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -436,7 +436,9 @@ static bool radeon_atom_apply_quirks(str
+       }
+       /* Fujitsu D3003-S2 board lists DVI-I as DVI-D and VGA */
+-      if (((dev->pdev->device == 0x9802) || (dev->pdev->device == 0x9806)) &&
++      if (((dev->pdev->device == 0x9802) ||
++           (dev->pdev->device == 0x9805) ||
++           (dev->pdev->device == 0x9806)) &&
+           (dev->pdev->subsystem_vendor == 0x1734) &&
+           (dev->pdev->subsystem_device == 0x11bd)) {
+               if (*connector_type == DRM_MODE_CONNECTOR_VGA) {
+@@ -447,14 +449,6 @@ static bool radeon_atom_apply_quirks(str
+               }
+       }
+-      /* Fujitsu D3003-S2 board lists DVI-I as DVI-I and VGA */
+-      if ((dev->pdev->device == 0x9805) &&
+-          (dev->pdev->subsystem_vendor == 0x1734) &&
+-          (dev->pdev->subsystem_device == 0x11bd)) {
+-              if (*connector_type == DRM_MODE_CONNECTOR_VGA)
+-                      return false;
+-      }
+-
+       return true;
+ }
diff --git a/queue-3.14/drm-radeon-hold-reference-to-fences-in-radeon_sa_bo_new.patch b/queue-3.14/drm-radeon-hold-reference-to-fences-in-radeon_sa_bo_new.patch
new file mode 100644 (file)
index 0000000..e7e1de5
--- /dev/null
@@ -0,0 +1,42 @@
+From f6ff4f67cdf8455d0a4226eeeaf5af17c37d05eb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Nicolai=20H=C3=A4hnle?= <nicolai.haehnle@amd.com>
+Date: Fri, 5 Feb 2016 14:35:53 -0500
+Subject: drm/radeon: hold reference to fences in radeon_sa_bo_new
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Nicolai Hähnle <nicolai.haehnle@amd.com>
+
+commit f6ff4f67cdf8455d0a4226eeeaf5af17c37d05eb upstream.
+
+An arbitrary amount of time can pass between spin_unlock and
+radeon_fence_wait_any, so we need to ensure that nobody frees the
+fences from under us.
+
+Based on the analogous fix for amdgpu.
+
+Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/radeon_sa.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/gpu/drm/radeon/radeon_sa.c
++++ b/drivers/gpu/drm/radeon/radeon_sa.c
+@@ -349,8 +349,13 @@ int radeon_sa_bo_new(struct radeon_devic
+                       /* 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 && block) {
index c2fbfa4410fefd86d9b79560339743cbe2b58627..71dcf44ee3a83d5539e5fdebfb9b04c8e06f249a 100644 (file)
@@ -104,3 +104,5 @@ cputime-prevent-32bit-overflow-in-time_to_cputime.patch
 edac-robustify-workqueues-destruction.patch
 sparc64-fix-incorrect-sign-extension-in-sys_sparc64_personality.patch
 drm-vmwgfx-respect-nomodeset.patch
+drm-radeon-clean-up-fujitsu-quirks.patch
+drm-radeon-hold-reference-to-fences-in-radeon_sa_bo_new.patch