drm/amdgpu: Remove call to reservation_object_test_signaled_rcu before wait
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 29 Aug 2016 07:08:24 +0000 (08:08 +0100)
committerSumit Semwal <sumit.semwal@linaro.org>
Wed, 12 Oct 2016 14:10:46 +0000 (19:40 +0530)
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
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c

index a7ea9a3b454e6dcb897edc28a11c988aba9dec48..e0171c75b60c611d249552368d17920a7f951f48 100644 (file)
@@ -407,10 +407,8 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
                return -ENOENT;
        }
        robj = gem_to_amdgpu_bo(gobj);
-       if (timeout == 0)
-               ret = reservation_object_test_signaled_rcu(robj->tbo.resv, true);
-       else
-               ret = reservation_object_wait_timeout_rcu(robj->tbo.resv, true, true, timeout);
+       ret = reservation_object_wait_timeout_rcu(robj->tbo.resv, true, true,
+                                                 timeout);
 
        /* ret == 0 means not signaled,
         * ret > 0 means signaled