summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ttm/ttm_tt.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2020-10-19 19:56:45 +0300
committerChristian König <christian.koenig@amd.com>2020-10-26 16:45:20 +0300
commit05f8d25097050241d55c19a67c2a7bc7bbc428a9 (patch)
tree84ec84f1987bf22b1e81850453caeebe7f5f8dd1 /drivers/gpu/drm/ttm/ttm_tt.c
parentd1cb1f254a5b1c07788eecb84b443d59ccdfb9e0 (diff)
downloadlinux-05f8d25097050241d55c19a67c2a7bc7bbc428a9.tar.xz
drm/ttm: move swapin out of page alloc backend
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/
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_tt.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_tt.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index beb1e878fed9..dc1dad982f28 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -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);