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:
Dave Airlie 2020-08-04 12:56:17 +10:00
parent 01057278bc
commit d398811ebf
1 changed files with 10 additions and 1 deletions

View File

@ -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
*