aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-08-29 03:08:24 -0400
committerSumit Semwal <sumit.semwal@linaro.org>2016-10-12 10:10:46 -0400
commit0fea2ed61e7fc5f31520cf2476f33bdf2d6756ab (patch)
tree011b3a69de43574df6a3ef2a131f474812bd20a0 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
parenta5bd451b6e6ece69be07a425381c4f3438eadba0 (diff)
drm/amdgpu: Remove call to reservation_object_test_signaled_rcu before wait
Since fence_wait_timeout_reservation_object_wait_timeout_rcu() with a timeout of 0 becomes reservation_object_test_signaled_rcu(), we do not need to handle such conversion in the caller. The only challenge are those callers that wish to differentiate the error code between the nonblocking busy check and potentially blocking wait. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Christian König <christian.koenig@amd.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org> Link: http://patchwork.freedesktop.org/patch/msgid/20160829070834.22296-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index a7ea9a3b454e..e0171c75b60c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -407,10 +407,8 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
407 return -ENOENT; 407 return -ENOENT;
408 } 408 }
409 robj = gem_to_amdgpu_bo(gobj); 409 robj = gem_to_amdgpu_bo(gobj);
410 if (timeout == 0) 410 ret = reservation_object_wait_timeout_rcu(robj->tbo.resv, true, true,
411 ret = reservation_object_test_signaled_rcu(robj->tbo.resv, true); 411 timeout);
412 else
413 ret = reservation_object_wait_timeout_rcu(robj->tbo.resv, true, true, timeout);
414 412
415 /* ret == 0 means not signaled, 413 /* ret == 0 means not signaled,
416 * ret > 0 means signaled 414 * ret > 0 means signaled