drm/ttm: properly allocate sys resource during swapout
authorChristian König <christian.koenig@amd.com>
Tue, 13 Apr 2021 18:17:51 +0000 (20:17 +0200)
committerChristian König <christian.koenig@amd.com>
Mon, 3 May 2021 10:50:41 +0000 (12:50 +0200)
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
drivers/gpu/drm/ttm/ttm_bo.c

index 55f1ddcf22b6e8dcdd831057744b3b51264fbe9c..ca1b098b6a561b9d7bfcb2070c2667100ed68c64 100644 (file)
@@ -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)) {