diff options
author | Dave Airlie <airlied@redhat.com> | 2020-09-24 15:18:05 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2020-10-06 09:59:25 +1000 |
commit | 12b68474e6d550ccbe7c47b8e293b6ef05cea3eb (patch) | |
tree | 73b7cca2efbf919bdc9e513979ae9fc99f11412a /drivers/gpu | |
parent | dac4ec775aa1cae4ac6d37ae135c862636541e78 (diff) | |
download | linux-12b68474e6d550ccbe7c47b8e293b6ef05cea3eb.tar.bz2 |
drm/nouveau/ttm: handle ttm moves properly.
The idea is to flip the core over to calling the driver always,
so add support for moves here.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200924051845.397177-6-airlied@gmail.com
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bo.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 1d4b16c0e353..c7f42c4a9395 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -1057,6 +1057,18 @@ nouveau_bo_move(struct ttm_buffer_object *bo, bool evict, goto out; } + if (old_reg->mem_type == TTM_PL_SYSTEM && + new_reg->mem_type == TTM_PL_TT) { + ttm_bo_move_null(bo, new_reg); + goto out; + } + + if (old_reg->mem_type == TTM_PL_TT && + new_reg->mem_type == TTM_PL_SYSTEM) { + ret = ttm_bo_move_ttm(bo, ctx, new_reg); + goto out; + } + /* Hardware assisted copy. */ if (drm->ttm.move) { if (new_reg->mem_type == TTM_PL_SYSTEM) |