diff options
author | Christian König <christian.koenig@amd.com> | 2020-06-24 15:15:20 +0200 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2020-06-29 17:54:13 +0200 |
commit | 2ddef17678bc2ea1d20517dd2b4ed4aa967ffa8b (patch) | |
tree | 4b097fe90e0a0773ec01a06f67e2c75f539bd683 /drivers/gpu/drm/ttm/ttm_bo_util.c | |
parent | 58e4d686d456c3e356439ae160ff4a0728940b8e (diff) |
drm/ttm: make TT creation purely optional v3
We only need the page array when the BO is about to be accessed.
So not only populate, but also create it on demand.
v2: move NULL check into ttm_tt_create()
v3: fix the occurrence in ttm_bo_kmap_ttm 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/373182/
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 f09b096ba4fda..5e0f3a9caedc4 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -532,12 +532,15 @@ static int ttm_bo_kmap_ttm(struct ttm_buffer_object *bo, .interruptible = false, .no_wait_gpu = false }; - struct ttm_tt *ttm = bo->ttm; + struct ttm_tt *ttm; pgprot_t prot; int ret; - BUG_ON(!ttm); + ret = ttm_tt_create(bo, true); + if (ret) + return ret; + ttm = bo->ttm; ret = ttm_tt_populate(ttm, &ctx); if (ret) return ret; |