forked from Minki/linux
drm/ttm: purge old manager init path.
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-24-airlied@gmail.com
This commit is contained in:
parent
5969793f86
commit
98399abd52
@ -1527,25 +1527,6 @@ void ttm_mem_type_manager_init(struct ttm_bo_device *bdev,
|
||||
}
|
||||
EXPORT_SYMBOL(ttm_mem_type_manager_init);
|
||||
|
||||
int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
|
||||
unsigned long p_size)
|
||||
{
|
||||
int ret;
|
||||
struct ttm_mem_type_manager *man;
|
||||
|
||||
BUG_ON(type >= TTM_NUM_MEM_TYPES);
|
||||
ttm_mem_type_manager_init(bdev, &bdev->man[type], p_size);
|
||||
|
||||
if (type != TTM_PL_SYSTEM) {
|
||||
ret = (*man->func->init)(man, p_size);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
ttm_mem_type_manager_set_used(man, true);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(ttm_bo_init_mm);
|
||||
|
||||
static void ttm_bo_global_kobj_release(struct kobject *kobj)
|
||||
{
|
||||
struct ttm_bo_global *glob =
|
||||
|
@ -104,11 +104,18 @@ static void ttm_bo_man_put_node(struct ttm_mem_type_manager *man,
|
||||
}
|
||||
}
|
||||
|
||||
static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
|
||||
unsigned long p_size)
|
||||
static const struct ttm_mem_type_manager_func ttm_bo_manager_func;
|
||||
|
||||
int ttm_range_man_init(struct ttm_bo_device *bdev,
|
||||
struct ttm_mem_type_manager *man,
|
||||
unsigned long p_size)
|
||||
{
|
||||
struct ttm_range_manager *rman;
|
||||
|
||||
man->func = &ttm_bo_manager_func;
|
||||
|
||||
ttm_mem_type_manager_init(bdev, man, p_size);
|
||||
|
||||
rman = kzalloc(sizeof(*rman), GFP_KERNEL);
|
||||
if (!rman)
|
||||
return -ENOMEM;
|
||||
@ -116,21 +123,7 @@ static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
|
||||
drm_mm_init(&rman->mm, 0, p_size);
|
||||
spin_lock_init(&rman->lock);
|
||||
man->priv = rman;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ttm_range_man_init(struct ttm_bo_device *bdev,
|
||||
struct ttm_mem_type_manager *man,
|
||||
unsigned long p_size)
|
||||
{
|
||||
int ret;
|
||||
|
||||
man->func = &ttm_bo_manager_func;
|
||||
|
||||
ttm_mem_type_manager_init(bdev, man, p_size);
|
||||
ret = ttm_bo_man_init_private(man, p_size);
|
||||
if (ret)
|
||||
return ret;
|
||||
ttm_mem_type_manager_set_used(man, true);
|
||||
return 0;
|
||||
}
|
||||
@ -163,11 +156,9 @@ static void ttm_bo_man_debug(struct ttm_mem_type_manager *man,
|
||||
spin_unlock(&rman->lock);
|
||||
}
|
||||
|
||||
const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
|
||||
.init = ttm_bo_man_init_private,
|
||||
static const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
|
||||
.takedown = ttm_bo_man_takedown,
|
||||
.get_node = ttm_bo_man_get_node,
|
||||
.put_node = ttm_bo_man_put_node,
|
||||
.debug = ttm_bo_man_debug
|
||||
};
|
||||
EXPORT_SYMBOL(ttm_bo_manager_func);
|
||||
|
@ -546,24 +546,6 @@ void ttm_mem_type_manager_init(struct ttm_bo_device *bdev,
|
||||
struct ttm_mem_type_manager *man,
|
||||
unsigned long p_size);
|
||||
|
||||
/**
|
||||
* ttm_bo_init_mm
|
||||
*
|
||||
* @bdev: Pointer to a ttm_bo_device struct.
|
||||
* @mem_type: The memory type.
|
||||
* @p_size: size managed area in pages.
|
||||
*
|
||||
* Initialize a manager for a given memory type.
|
||||
* Note: if part of driver firstopen, it must be protected from a
|
||||
* potentially racing lastclose.
|
||||
* Returns:
|
||||
* -EINVAL: invalid size or memory type.
|
||||
* -ENOMEM: Not enough memory.
|
||||
* May also return driver-specified errors.
|
||||
*/
|
||||
int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
|
||||
unsigned long p_size);
|
||||
|
||||
/**
|
||||
* ttm_bo_clean_mm
|
||||
*
|
||||
|
@ -48,19 +48,6 @@
|
||||
struct ttm_mem_type_manager;
|
||||
|
||||
struct ttm_mem_type_manager_func {
|
||||
/**
|
||||
* struct ttm_mem_type_manager member init
|
||||
*
|
||||
* @man: Pointer to a memory type manager.
|
||||
* @p_size: Implementation dependent, but typically the size of the
|
||||
* range to be managed in pages.
|
||||
*
|
||||
* Called to initialize a private range manager. The function is
|
||||
* expected to initialize the man::priv member.
|
||||
* Returns 0 on success, negative error code on failure.
|
||||
*/
|
||||
int (*init)(struct ttm_mem_type_manager *man, unsigned long p_size);
|
||||
|
||||
/**
|
||||
* struct ttm_mem_type_manager member takedown
|
||||
*
|
||||
@ -833,8 +820,6 @@ int ttm_range_man_init(struct ttm_bo_device *bdev,
|
||||
struct ttm_mem_type_manager *man,
|
||||
unsigned long p_size);
|
||||
|
||||
extern const struct ttm_mem_type_manager_func ttm_bo_manager_func;
|
||||
|
||||
/**
|
||||
* ttm_mem_type_manager_debug
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user