Commit 0ef1ed81 authored by Dave Airlie's avatar Dave Airlie
Browse files

drm/ttm: add bo wait that takes a ctx wrapper.

parent 54661867
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1062,7 +1062,7 @@ nouveau_bo_move(struct ttm_buffer_object *bo, bool evict,
	struct nouveau_drm_tile *new_tile = NULL;
	int ret = 0;

	ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
	ret = ttm_bo_wait_ctx(bo, ctx);
	if (ret)
		return ret;

@@ -1097,7 +1097,7 @@ nouveau_bo_move(struct ttm_buffer_object *bo, bool evict,
	}

	/* Fallback to software copy. */
	ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
	ret = ttm_bo_wait_ctx(bo, ctx);
	if (ret == 0)
		ret = ttm_bo_move_memcpy(bo, ctx, new_reg);

+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ static int qxl_bo_move(struct ttm_buffer_object *bo, bool evict,
	struct ttm_resource *old_mem = &bo->mem;
	int ret;

	ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
	ret = ttm_bo_wait_ctx(bo, ctx);
	if (ret)
		return ret;

+1 −1
Original line number Diff line number Diff line
@@ -302,7 +302,7 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict,
	struct ttm_resource *old_mem = &bo->mem;
	int r;

	r = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
	r = ttm_bo_wait_ctx(bo, ctx);
	if (r)
		return r;

+2 −2
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ int ttm_bo_move_ttm(struct ttm_buffer_object *bo,
	int ret;

	if (old_mem->mem_type != TTM_PL_SYSTEM) {
		ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
		ret = ttm_bo_wait_ctx(bo, ctx);

		if (unlikely(ret != 0)) {
			if (ret != -ERESTARTSYS)
@@ -231,7 +231,7 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
	unsigned long add = 0;
	int dir;

	ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
	ret = ttm_bo_wait_ctx(bo, ctx);
	if (ret)
		return ret;

+5 −0
Original line number Diff line number Diff line
@@ -261,6 +261,11 @@ ttm_bo_get_unless_zero(struct ttm_buffer_object *bo)
 */
int ttm_bo_wait(struct ttm_buffer_object *bo, bool interruptible, bool no_wait);

static inline int ttm_bo_wait_ctx(struct ttm_buffer_object *bo, struct ttm_operation_ctx *ctx)
{
	return ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu);
}

/**
 * ttm_bo_mem_compat - Check if proposed placement is compatible with a bo
 *