Commit cae515f4 authored by Dave Airlie's avatar Dave Airlie
Browse files

drm/ttm/drivers: call the bind function directly.



Now the bind functions have all the protection explicitly the
drivers can just call them directly, and the api can be unexported

Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-5-airlied@gmail.com
parent 37bff654
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -63,6 +63,10 @@

#define AMDGPU_TTM_VRAM_MAX_DW_READ	(size_t)128

static int amdgpu_ttm_backend_bind(struct ttm_bo_device *bdev,
				   struct ttm_tt *ttm,
				   struct ttm_resource *bo_mem);

static int amdgpu_ttm_init_on_chip(struct amdgpu_device *adev,
				    unsigned int type,
				    uint64_t size)
@@ -552,7 +556,7 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo, bool evict,
		goto out_cleanup;

	/* Bind the memory to the GTT space */
	r = ttm_bo_tt_bind(bo, &tmp_mem);
	r = amdgpu_ttm_backend_bind(bo->bdev, bo->ttm, &tmp_mem);
	if (unlikely(r)) {
		goto out_cleanup;
	}
+4 −1
Original line number Diff line number Diff line
@@ -44,6 +44,9 @@
#include <nvif/if500b.h>
#include <nvif/if900b.h>

static int nouveau_ttm_tt_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm,
			       struct ttm_resource *reg);

/*
 * NV10-NV40 tiling helpers
 */
@@ -927,7 +930,7 @@ nouveau_bo_move_flipd(struct ttm_buffer_object *bo, bool evict, bool intr,
	if (ret)
		goto out;

	ret = ttm_bo_tt_bind(bo, &tmp_reg);
	ret = nouveau_ttm_tt_bind(bo->bdev, bo->ttm, &tmp_reg);
	if (ret)
		goto out;

+5 −1
Original line number Diff line number Diff line
@@ -56,6 +56,10 @@
static int radeon_ttm_debugfs_init(struct radeon_device *rdev);
static void radeon_ttm_debugfs_fini(struct radeon_device *rdev);

static int radeon_ttm_tt_bind(struct ttm_bo_device *bdev,
			      struct ttm_tt *ttm,
			      struct ttm_resource *bo_mem);

struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
{
	struct radeon_mman *mman;
@@ -238,7 +242,7 @@ static int radeon_move_vram_ram(struct ttm_buffer_object *bo,
		goto out_cleanup;
	}

	r = ttm_bo_tt_bind(bo, &tmp_mem);
	r = radeon_ttm_tt_bind(bo->bdev, bo->ttm, &tmp_mem);
	if (unlikely(r)) {
		goto out_cleanup;
	}
+0 −1
Original line number Diff line number Diff line
@@ -1627,7 +1627,6 @@ int ttm_bo_tt_bind(struct ttm_buffer_object *bo, struct ttm_resource *mem)
{
	return bo->bdev->driver->ttm_tt_bind(bo->bdev, bo->ttm, mem);
}
EXPORT_SYMBOL(ttm_bo_tt_bind);

void ttm_bo_tt_unbind(struct ttm_buffer_object *bo)
{