[PATCH 44/59] drm/ttm: allow drivers to provide their own manager subclasses
Christian König
christian.koenig at amd.com
Tue Aug 4 11:30:27 UTC 2020
Am 04.08.20 um 04:56 schrieb Dave Airlie:
> From: Dave Airlie <airlied at redhat.com>
>
> This will get removed eventually and all drivers will use this.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
> include/drm/ttm/ttm_bo_driver.h | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> index 03b253d14e6a..6940d85a531a 100644
> --- a/include/drm/ttm/ttm_bo_driver.h
> +++ b/include/drm/ttm/ttm_bo_driver.h
> @@ -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
> *
More information about the dri-devel
mailing list