summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ttm
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2021-04-13 20:17:51 +0200
committerChristian König <christian.koenig@amd.com>2021-05-03 12:50:41 +0200
commit5109d297a3d70a9083a5fb66d487253438f803ea (patch)
tree83efbbaa8ee98cd6c0a47e884ff201113b92cbef /drivers/gpu/drm/ttm
parentd79025c7f5e376413780f547e3a31b16575b83d7 (diff)
drm/ttm: properly allocate sys resource during swapout
Drop the special handling here. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210430092508.60710-3-christian.koenig@amd.com
Diffstat (limited to 'drivers/gpu/drm/ttm')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 55f1ddcf22b6..ca1b098b6a56 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -1166,14 +1166,16 @@ int ttm_bo_swapout(struct ttm_buffer_object *bo, struct ttm_operation_ctx *ctx,
if (bo->mem.mem_type != TTM_PL_SYSTEM) {
struct ttm_operation_ctx ctx = { false, false };
struct ttm_resource evict_mem;
- struct ttm_place hop;
+ struct ttm_place place, hop;
+ memset(&place, 0, sizeof(place));
memset(&hop, 0, sizeof(hop));
- evict_mem = bo->mem;
- evict_mem.mm_node = NULL;
- evict_mem.placement = 0;
- evict_mem.mem_type = TTM_PL_SYSTEM;
+ place.mem_type = TTM_PL_SYSTEM;
+
+ ret = ttm_resource_alloc(bo, &place, &evict_mem);
+ if (unlikely(ret))
+ goto out;
ret = ttm_bo_handle_move_mem(bo, &evict_mem, true, &ctx, &hop);
if (unlikely(ret != 0)) {