drm/ttm: move swapin out of page alloc backend
authorChristian König <christian.koenig@amd.com>
Mon, 19 Oct 2020 16:56:45 +0000 (18:56 +0200)
committerChristian König <christian.koenig@amd.com>
Mon, 26 Oct 2020 13:45:20 +0000 (14:45 +0100)
This is not related to allocating the backing store in any way.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/396947/
drivers/gpu/drm/ttm/ttm_page_alloc.c
drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
drivers/gpu/drm/ttm/ttm_tt.c

index 04099dd..661b75d 100644 (file)
@@ -1071,14 +1071,6 @@ int ttm_pool_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
                }
        }
 
-       if (unlikely(ttm->page_flags & TTM_PAGE_FLAG_SWAPPED)) {
-               ret = ttm_tt_swapin(ttm);
-               if (unlikely(ret != 0)) {
-                       ttm_pool_unpopulate(ttm);
-                       return ret;
-               }
-       }
-
        return 0;
 }
 EXPORT_SYMBOL(ttm_pool_populate);
index 85dad69..a9aaed7 100644 (file)
@@ -975,14 +975,6 @@ skip_huge:
                --num_pages;
        }
 
-       if (unlikely(ttm->page_flags & TTM_PAGE_FLAG_SWAPPED)) {
-               ret = ttm_tt_swapin(ttm);
-               if (unlikely(ret != 0)) {
-                       ttm_dma_unpopulate(ttm_dma, dev);
-                       return ret;
-               }
-       }
-
        return 0;
 }
 EXPORT_SYMBOL_GPL(ttm_dma_populate);
index beb1e87..dc1dad9 100644 (file)
@@ -338,6 +338,14 @@ int ttm_tt_populate(struct ttm_bo_device *bdev,
 
        ttm_tt_add_mapping(bdev, ttm);
        ttm->page_flags |= TTM_PAGE_FLAG_PRIV_POPULATED;
+       if (unlikely(ttm->page_flags & TTM_PAGE_FLAG_SWAPPED)) {
+               ret = ttm_tt_swapin(ttm);
+               if (unlikely(ret != 0)) {
+                       ttm_tt_unpopulate(bdev, ttm);
+                       return ret;
+               }
+       }
+
        return 0;
 }
 EXPORT_SYMBOL(ttm_tt_populate);