diff options
author | Dave Airlie <airlied@redhat.com> | 2020-08-04 12:55:57 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2020-08-06 12:32:03 +1000 |
commit | a006a3ce8efc9e8276d0f0193c04f2efb0e28135 (patch) | |
tree | 9296e98cc54d9d976ebd927aeeb1ab337940c070 | |
parent | 98399abd52b234b82457ef6c40c41543d806d3b7 (diff) | |
download | linux-stable-a006a3ce8efc9e8276d0f0193c04f2efb0e28135.tar.gz linux-stable-a006a3ce8efc9e8276d0f0193c04f2efb0e28135.tar.bz2 linux-stable-a006a3ce8efc9e8276d0f0193c04f2efb0e28135.zip |
drm/ttm: pass man around instead of mem_type in some places
This makes it easier to cleanup things
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-25-airlied@gmail.com
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_bo.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 869ca5b3e4bf..53017cf06527 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -769,13 +769,12 @@ static int ttm_mem_evict_wait_busy(struct ttm_buffer_object *busy_bo, } static int ttm_mem_evict_first(struct ttm_bo_device *bdev, - uint32_t mem_type, + struct ttm_mem_type_manager *man, const struct ttm_place *place, struct ttm_operation_ctx *ctx, struct ww_acquire_ctx *ticket) { struct ttm_buffer_object *bo = NULL, *busy_bo = NULL; - struct ttm_mem_type_manager *man = &bdev->man[mem_type]; bool locked = false; unsigned i; int ret; @@ -922,7 +921,7 @@ static int ttm_bo_mem_force_space(struct ttm_buffer_object *bo, break; if (unlikely(ret != -ENOSPC)) return ret; - ret = ttm_mem_evict_first(bdev, mem->mem_type, place, ctx, + ret = ttm_mem_evict_first(bdev, man, place, ctx, ticket); if (unlikely(ret != 0)) return ret; @@ -1407,14 +1406,13 @@ int ttm_bo_create(struct ttm_bo_device *bdev, EXPORT_SYMBOL(ttm_bo_create); static int ttm_bo_force_list_clean(struct ttm_bo_device *bdev, - unsigned mem_type) + struct ttm_mem_type_manager *man) { struct ttm_operation_ctx ctx = { .interruptible = false, .no_wait_gpu = false, .flags = TTM_OPT_FLAG_FORCE_ALLOC }; - struct ttm_mem_type_manager *man = &bdev->man[mem_type]; struct ttm_bo_global *glob = &ttm_bo_glob; struct dma_fence *fence; int ret; @@ -1428,7 +1426,7 @@ static int ttm_bo_force_list_clean(struct ttm_bo_device *bdev, for (i = 0; i < TTM_MAX_BO_PRIORITY; ++i) { while (!list_empty(&man->lru[i])) { spin_unlock(&glob->lru_lock); - ret = ttm_mem_evict_first(bdev, mem_type, NULL, &ctx, + ret = ttm_mem_evict_first(bdev, man, NULL, &ctx, NULL); if (ret) return ret; @@ -1473,7 +1471,7 @@ int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type) ret = 0; if (mem_type > 0) { - ret = ttm_bo_force_list_clean(bdev, mem_type); + ret = ttm_bo_force_list_clean(bdev, man); if (ret) { pr_err("Cleanup eviction failed\n"); return ret; @@ -1503,7 +1501,7 @@ int ttm_bo_evict_mm(struct ttm_bo_device *bdev, unsigned mem_type) return 0; } - return ttm_bo_force_list_clean(bdev, mem_type); + return ttm_bo_force_list_clean(bdev, man); } EXPORT_SYMBOL(ttm_bo_evict_mm); |