aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/files/0317-drm-amdgpu-remove-fence-reset-detection-leftovers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/0317-drm-amdgpu-remove-fence-reset-detection-leftovers.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/files/0317-drm-amdgpu-remove-fence-reset-detection-leftovers.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/0317-drm-amdgpu-remove-fence-reset-detection-leftovers.patch b/meta-amdfalconx86/recipes-kernel/linux/files/0317-drm-amdgpu-remove-fence-reset-detection-leftovers.patch
new file mode 100644
index 00000000..45481d0a
--- /dev/null
+++ b/meta-amdfalconx86/recipes-kernel/linux/files/0317-drm-amdgpu-remove-fence-reset-detection-leftovers.patch
@@ -0,0 +1,61 @@
+From 58c86b0b002bba8c6001ed49140c345b7e61c4e1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Thu, 11 Feb 2016 14:42:33 +0100
+Subject: [PATCH 0317/1110] drm/amdgpu: remove fence reset detection leftovers
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+wait_event() never returns before the fence was signaled.
+
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+index 7210502..97db196 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+@@ -260,19 +260,16 @@ static bool amdgpu_fence_seq_signaled(struct amdgpu_ring *ring, u64 seq)
+ }
+
+ /*
+- * amdgpu_ring_wait_seq_timeout - wait for seq of the specific ring to signal
++ * amdgpu_ring_wait_seq - wait for seq of the specific ring to signal
+ * @ring: ring to wait on for the seq number
+ * @seq: seq number wait for
+ *
+ * return value:
+ * 0: seq signaled, and gpu not hang
+- * -EDEADL: GPU hang detected
+ * -EINVAL: some paramter is not valid
+ */
+ static int amdgpu_fence_ring_wait_seq(struct amdgpu_ring *ring, uint64_t seq)
+ {
+- bool signaled = false;
+-
+ BUG_ON(!ring);
+ if (seq > ring->fence_drv.sync_seq)
+ return -EINVAL;
+@@ -281,13 +278,10 @@ static int amdgpu_fence_ring_wait_seq(struct amdgpu_ring *ring, uint64_t seq)
+ return 0;
+
+ amdgpu_fence_schedule_fallback(ring);
+- wait_event(ring->fence_drv.fence_queue, (
+- (signaled = amdgpu_fence_seq_signaled(ring, seq))));
++ wait_event(ring->fence_drv.fence_queue,
++ amdgpu_fence_seq_signaled(ring, seq));
+
+- if (signaled)
+- return 0;
+- else
+- return -EDEADLK;
++ return 0;
+ }
+
+ /**
+--
+2.7.4
+