drm/ttm: allow drivers to provide their own manager subclasses
This will get removed eventually and all drivers will use this. 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-45-airlied@gmail.com
This commit is contained in:
parent
01057278bc
commit
d398811ebf
|
@ -419,7 +419,7 @@ struct ttm_bo_device {
|
|||
* access via ttm_manager_type.
|
||||
*/
|
||||
struct ttm_mem_type_manager man_priv[TTM_NUM_MEM_TYPES];
|
||||
|
||||
struct ttm_mem_type_manager *man_drv[TTM_NUM_MEM_TYPES];
|
||||
/*
|
||||
* Protected by internal locks.
|
||||
*/
|
||||
|
@ -450,9 +450,18 @@ struct ttm_bo_device {
|
|||
static inline struct ttm_mem_type_manager *ttm_manager_type(struct ttm_bo_device *bdev,
|
||||
int mem_type)
|
||||
{
|
||||
if (bdev->man_drv[mem_type])
|
||||
return bdev->man_drv[mem_type];
|
||||
return &bdev->man_priv[mem_type];
|
||||
}
|
||||
|
||||
static inline void ttm_set_driver_manager(struct ttm_bo_device *bdev,
|
||||
int type,
|
||||
struct ttm_mem_type_manager *manager)
|
||||
{
|
||||
bdev->man_drv[type] = manager;
|
||||
}
|
||||
|
||||
/**
|
||||
* struct ttm_lru_bulk_move_pos
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue