diff options
author | Christian König <christian.koenig@amd.com> | 2022-02-17 12:43:16 +0300 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2022-07-11 12:00:25 +0300 |
commit | 4d8f68548e982e2c9b9ca3b47aea49c47da93a3d (patch) | |
tree | 6336b649c761a8fc15a749a98f44dcb4986b034d /drivers/gpu/drm/ttm/ttm_bo_util.c | |
parent | 64e257f187a5c76ec5766f50204462c0c483e418 (diff) | |
download | linux-4d8f68548e982e2c9b9ca3b47aea49c47da93a3d.tar.xz |
drm/ttm: audit bo->resource usage v2
Allow BOs to exist without backing store.
v2: handle ttm_bo_move_memcpy as well.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220707102453.3633-5-christian.koenig@amd.com
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo_util.c')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_bo_util.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c index 1cbfb00c1d65..1530982338e9 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -137,8 +137,7 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, ttm_manager_type(bo->bdev, dst_mem->mem_type); struct ttm_tt *ttm = bo->ttm; struct ttm_resource *src_mem = bo->resource; - struct ttm_resource_manager *src_man = - ttm_manager_type(bdev, src_mem->mem_type); + struct ttm_resource_manager *src_man; union { struct ttm_kmap_iter_tt tt; struct ttm_kmap_iter_linear_io io; @@ -147,6 +146,10 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, bool clear; int ret = 0; + if (!src_mem) + return 0; + + src_man = ttm_manager_type(bdev, src_mem->mem_type); if (ttm && ((ttm->page_flags & TTM_TT_FLAG_SWAPPED) || dst_man->use_tt)) { ret = ttm_tt_populate(bdev, ttm, ctx); |