aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-02-11 08:42:33 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-02-16 17:22:16 -0500
commit9b3896686fab2be860500ab44770071f15873aa1 (patch)
treee34b86ea09e44f78b8750277513688ed05eb4b03 /drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
parentfa5b5000308136ad61a33126d8ad380cf1fef016 (diff)
drm/amdgpu: remove fence reset detection leftovers
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c14
1 files 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 72105020086c..97db196dc6f8 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)
260} 260}
261 261
262/* 262/*
263 * amdgpu_ring_wait_seq_timeout - wait for seq of the specific ring to signal 263 * amdgpu_ring_wait_seq - wait for seq of the specific ring to signal
264 * @ring: ring to wait on for the seq number 264 * @ring: ring to wait on for the seq number
265 * @seq: seq number wait for 265 * @seq: seq number wait for
266 * 266 *
267 * return value: 267 * return value:
268 * 0: seq signaled, and gpu not hang 268 * 0: seq signaled, and gpu not hang
269 * -EDEADL: GPU hang detected
270 * -EINVAL: some paramter is not valid 269 * -EINVAL: some paramter is not valid
271 */ 270 */
272static int amdgpu_fence_ring_wait_seq(struct amdgpu_ring *ring, uint64_t seq) 271static int amdgpu_fence_ring_wait_seq(struct amdgpu_ring *ring, uint64_t seq)
273{ 272{
274 bool signaled = false;
275
276 BUG_ON(!ring); 273 BUG_ON(!ring);
277 if (seq > ring->fence_drv.sync_seq) 274 if (seq > ring->fence_drv.sync_seq)
278 return -EINVAL; 275 return -EINVAL;
@@ -281,13 +278,10 @@ static int amdgpu_fence_ring_wait_seq(struct amdgpu_ring *ring, uint64_t seq)
281 return 0; 278 return 0;
282 279
283 amdgpu_fence_schedule_fallback(ring); 280 amdgpu_fence_schedule_fallback(ring);
284 wait_event(ring->fence_drv.fence_queue, ( 281 wait_event(ring->fence_drv.fence_queue,
285 (signaled = amdgpu_fence_seq_signaled(ring, seq)))); 282 amdgpu_fence_seq_signaled(ring, seq));
286 283
287 if (signaled) 284 return 0;
288 return 0;
289 else
290 return -EDEADLK;
291} 285}
292 286
293/** 287/**