Commit 4265accb authored by Dave Airlie's avatar Dave Airlie

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: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarBen Skeggs <bskeggs@redhat.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-26-airlied@gmail.com
parent a006a3ce
......@@ -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;
}
......
......@@ -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
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment