[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