mirror of https://gitee.com/openkylin/linux.git
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:
parent
a006a3ce8e
commit
4265accbfc
|
@ -1466,8 +1466,7 @@ int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
man->use_type = false;
|
ttm_mem_type_manager_disable(man);
|
||||||
man->has_type = false;
|
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
if (mem_type > 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);
|
ret = (*man->func->takedown)(man);
|
||||||
}
|
}
|
||||||
|
|
||||||
dma_fence_put(man->move);
|
ttm_mem_type_manager_cleanup(man);
|
||||||
man->move = NULL;
|
|
||||||
|
|
||||||
return ret;
|
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;
|
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
|
* ttm_bo_util.c
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue