diff options
author | Christian König <christian.koenig@amd.com> | 2020-10-19 19:56:45 +0300 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2020-10-26 16:45:20 +0300 |
commit | 05f8d25097050241d55c19a67c2a7bc7bbc428a9 (patch) | |
tree | 84ec84f1987bf22b1e81850453caeebe7f5f8dd1 /drivers/gpu/drm/ttm/ttm_tt.c | |
parent | d1cb1f254a5b1c07788eecb84b443d59ccdfb9e0 (diff) | |
download | linux-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.c | 8 |
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); |