浏览代码

drm/vmwgfx: 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: Sinclair Yeh <syeh@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Signed-off-by: Sinclair Yeh <syeh@vmware.com>
Chris Wilson 9 年之前
父节点
当前提交
07028959bc
共有 1 个文件被更改,包括 2 次插入4 次删除
  1. 2 4
      drivers/gpu/drm/vmwgfx/vmwgfx_resource.c

+ 2 - 4
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c

@@ -574,10 +574,8 @@ static int vmw_user_dmabuf_synccpu_grab(struct vmw_user_dma_buffer *user_bo,
 		bool nonblock = !!(flags & drm_vmw_synccpu_dontblock);
 		bool nonblock = !!(flags & drm_vmw_synccpu_dontblock);
 		long lret;
 		long lret;
 
 
-		if (nonblock)
-			return reservation_object_test_signaled_rcu(bo->resv, true) ? 0 : -EBUSY;
-
-		lret = reservation_object_wait_timeout_rcu(bo->resv, true, true, MAX_SCHEDULE_TIMEOUT);
+		lret = reservation_object_wait_timeout_rcu(bo->resv, true, true,
+					nonblock ? 0 : MAX_SCHEDULE_TIMEOUT);
 		if (!lret)
 		if (!lret)
 			return -EBUSY;
 			return -EBUSY;
 		else if (lret < 0)
 		else if (lret < 0)