drm/ttm: wrap tt destroy. (v2)

All places this was called was using bo->ttm either direct
or indirectly.

v2: move to ttm_bo

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200915024007.67163-3-airlied@gmail.com
This commit is contained in:
Dave Airlie 2020-09-15 11:02:12 +10:00
parent 7eec915138
commit 2ff6e69c04
3 changed files with 20 additions and 18 deletions

View File

@ -301,10 +301,8 @@ moved:
out_err:
new_man = ttm_manager_type(bdev, bo->mem.mem_type);
if (!new_man->use_tt) {
ttm_tt_destroy(bdev, bo->ttm);
bo->ttm = NULL;
}
if (!new_man->use_tt)
ttm_bo_tt_destroy(bo);
return ret;
}
@ -322,8 +320,7 @@ static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo)
if (bo->bdev->driver->move_notify)
bo->bdev->driver->move_notify(bo, false, NULL);
ttm_tt_destroy(bo->bdev, bo->ttm);
bo->ttm = NULL;
ttm_bo_tt_destroy(bo);
ttm_resource_free(bo, &bo->mem);
}
@ -1613,3 +1610,9 @@ void ttm_bo_swapout_all(void)
while (ttm_bo_swapout(&ttm_bo_glob, &ctx) == 0);
}
EXPORT_SYMBOL(ttm_bo_swapout_all);
void ttm_bo_tt_destroy(struct ttm_buffer_object *bo)
{
ttm_tt_destroy(bo->bdev, bo->ttm);
bo->ttm = NULL;
}

View File

@ -297,10 +297,8 @@ out2:
*old_mem = *new_mem;
new_mem->mm_node = NULL;
if (!man->use_tt) {
ttm_tt_destroy(bdev, ttm);
bo->ttm = NULL;
}
if (!man->use_tt)
ttm_bo_tt_destroy(bo);
out1:
ttm_resource_iounmap(bdev, old_mem, new_iomap);
@ -542,10 +540,8 @@ int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
if (ret)
return ret;
if (!man->use_tt) {
ttm_tt_destroy(bdev, bo->ttm);
bo->ttm = NULL;
}
if (!man->use_tt)
ttm_bo_tt_destroy(bo);
ttm_bo_free_old_node(bo);
} else {
/**
@ -665,10 +661,8 @@ int ttm_bo_pipeline_move(struct ttm_buffer_object *bo,
if (ret)
return ret;
if (!to->use_tt) {
ttm_tt_destroy(bdev, bo->ttm);
bo->ttm = NULL;
}
if (!to->use_tt)
ttm_bo_tt_destroy(bo);
ttm_bo_free_old_node(bo);
}

View File

@ -684,6 +684,11 @@ int ttm_bo_pipeline_gutting(struct ttm_buffer_object *bo);
*/
pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp);
/**
* ttm_bo_tt_destroy.
*/
void ttm_bo_tt_destroy(struct ttm_buffer_object *bo);
/**
* ttm_range_man_init
*