drm/ttm: use a static ttm_mem_global instance
As the name says we only need one global instance of ttm_mem_global. Drop all the driver initialization and just use a single exported instance which is initialized during BO global initialization. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
7e07834c12
commit
27eb1fa913
@ -570,8 +570,7 @@ void ttm_bo_mem_put_locked(struct ttm_buffer_object *bo,
|
||||
struct ttm_mem_reg *mem);
|
||||
|
||||
void ttm_bo_global_release(struct ttm_bo_global *glob);
|
||||
int ttm_bo_global_init(struct ttm_bo_global *glob,
|
||||
struct ttm_mem_global *mem_glob);
|
||||
int ttm_bo_global_init(struct ttm_bo_global *glob);
|
||||
|
||||
int ttm_bo_device_release(struct ttm_bo_device *bdev);
|
||||
|
||||
@ -895,7 +894,6 @@ extern const struct ttm_mem_type_manager_func ttm_bo_manager_func;
|
||||
|
||||
struct ttm_bo_global_ref {
|
||||
struct drm_global_reference ref;
|
||||
struct ttm_mem_global *mem_glob;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -909,9 +907,7 @@ struct ttm_bo_global_ref {
|
||||
*/
|
||||
static inline int ttm_bo_global_ref_init(struct drm_global_reference *ref)
|
||||
{
|
||||
struct ttm_bo_global_ref *bo_ref =
|
||||
container_of(ref, struct ttm_bo_global_ref, ref);
|
||||
return ttm_bo_global_init(ref->object, bo_ref->mem_glob);
|
||||
return ttm_bo_global_init(ref->object);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -63,7 +63,7 @@
|
||||
|
||||
#define TTM_MEM_MAX_ZONES 2
|
||||
struct ttm_mem_zone;
|
||||
struct ttm_mem_global {
|
||||
extern struct ttm_mem_global {
|
||||
struct kobject kobj;
|
||||
struct ttm_bo_global *bo_glob;
|
||||
struct workqueue_struct *swap_queue;
|
||||
@ -78,7 +78,7 @@ struct ttm_mem_global {
|
||||
#else
|
||||
struct ttm_mem_zone *zone_dma32;
|
||||
#endif
|
||||
};
|
||||
} ttm_mem_glob;
|
||||
|
||||
extern int ttm_mem_global_init(struct ttm_mem_global *glob);
|
||||
extern void ttm_mem_global_release(struct ttm_mem_global *glob);
|
||||
|
Reference in New Issue
Block a user