drm/ttm: make some inline helper functions for cleanup paths. (v2)

The disable path is just temporary for now, it will be dropped once has_type
is gone in a later patch.

v2: add docs.
rename to ttm_mem_type_manager namespace

Reviewed-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/20200804025632.3868079-26-airlied@gmail.com
This commit is contained in:
Dave Airlie 2020-08-04 12:55:58 +10:00
parent a006a3ce8e
commit 4265accbfc
2 changed files with 28 additions and 4 deletions

View File

@ -1466,8 +1466,7 @@ int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
return ret;
}
man->use_type = false;
man->has_type = false;
ttm_mem_type_manager_disable(man);
ret = 0;
if (mem_type > 0) {
@ -1480,8 +1479,7 @@ int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
ret = (*man->func->takedown)(man);
}
dma_fence_put(man->move);
man->move = NULL;
ttm_mem_type_manager_cleanup(man);
return ret;
}

View File

@ -691,6 +691,32 @@ static inline void ttm_mem_type_manager_set_used(struct ttm_mem_type_manager *ma
man->use_type = used;
}
/**
* ttm_mem_type_manager_disable.
*
* @man: A memory manager object.
*
* Indicate the manager is not to be used and deregistered. (temporary during rework).
*/
static inline void ttm_mem_type_manager_disable(struct ttm_mem_type_manager *man)
{
man->has_type = false;
man->use_type = false;
}
/**
* ttm_mem_type_manager_cleanup
*
* @man: A memory manager object.
*
* Cleanup the move fences from the memory manager object.
*/
static inline void ttm_mem_type_manager_cleanup(struct ttm_mem_type_manager *man)
{
dma_fence_put(man->move);
man->move = NULL;
}
/*
* ttm_bo_util.c
*/