[PATCH 23/59] drm/ttm: purge old manager init path.

Ben Skeggs skeggsb at gmail.com
Wed Aug 5 05:41:38 UTC 2020


On Tue, 4 Aug 2020 at 12:57, Dave Airlie <airlied at gmail.com> wrote:
>
> From: Dave Airlie <airlied at redhat.com>
>
> Reviewed-by: Christian König <christian.koenig at amd.com>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ben Skeggs <bskeggs at redhat.com>

> ---
>  drivers/gpu/drm/ttm/ttm_bo.c         | 19 ------------------
>  drivers/gpu/drm/ttm/ttm_bo_manager.c | 29 ++++++++++------------------
>  include/drm/ttm/ttm_bo_api.h         | 18 -----------------
>  include/drm/ttm/ttm_bo_driver.h      | 15 --------------
>  4 files changed, 10 insertions(+), 71 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index c56cbc6c0ba8..da88ea6cb814 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -1529,25 +1529,6 @@ void ttm_mem_type_manager_init(struct ttm_bo_device *bdev,
>  }
>  EXPORT_SYMBOL(ttm_mem_type_manager_init);
>
> -int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
> -                       unsigned long p_size)
> -{
> -       int ret;
> -       struct ttm_mem_type_manager *man;
> -
> -       BUG_ON(type >= TTM_NUM_MEM_TYPES);
> -       ttm_mem_type_manager_init(bdev, &bdev->man[type], p_size);
> -
> -       if (type != TTM_PL_SYSTEM) {
> -               ret = (*man->func->init)(man, p_size);
> -               if (ret)
> -                       return ret;
> -       }
> -       ttm_mem_type_manager_set_used(man, true);
> -       return 0;
> -}
> -EXPORT_SYMBOL(ttm_bo_init_mm);
> -
>  static void ttm_bo_global_kobj_release(struct kobject *kobj)
>  {
>         struct ttm_bo_global *glob =
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_manager.c b/drivers/gpu/drm/ttm/ttm_bo_manager.c
> index eb86c8694f47..b56c6961b278 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_manager.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_manager.c
> @@ -104,11 +104,18 @@ static void ttm_bo_man_put_node(struct ttm_mem_type_manager *man,
>         }
>  }
>
> -static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
> -                                  unsigned long p_size)
> +static const struct ttm_mem_type_manager_func ttm_bo_manager_func;
> +
> +int ttm_range_man_init(struct ttm_bo_device *bdev,
> +                      struct ttm_mem_type_manager *man,
> +                      unsigned long p_size)
>  {
>         struct ttm_range_manager *rman;
>
> +       man->func = &ttm_bo_manager_func;
> +
> +       ttm_mem_type_manager_init(bdev, man, p_size);
> +
>         rman = kzalloc(sizeof(*rman), GFP_KERNEL);
>         if (!rman)
>                 return -ENOMEM;
> @@ -116,21 +123,7 @@ static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
>         drm_mm_init(&rman->mm, 0, p_size);
>         spin_lock_init(&rman->lock);
>         man->priv = rman;
> -       return 0;
> -}
>
> -int ttm_range_man_init(struct ttm_bo_device *bdev,
> -                      struct ttm_mem_type_manager *man,
> -                      unsigned long p_size)
> -{
> -       int ret;
> -
> -       man->func = &ttm_bo_manager_func;
> -
> -       ttm_mem_type_manager_init(bdev, man, p_size);
> -       ret = ttm_bo_man_init_private(man, p_size);
> -       if (ret)
> -               return ret;
>         ttm_mem_type_manager_set_used(man, true);
>         return 0;
>  }
> @@ -163,11 +156,9 @@ static void ttm_bo_man_debug(struct ttm_mem_type_manager *man,
>         spin_unlock(&rman->lock);
>  }
>
> -const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
> -       .init = ttm_bo_man_init_private,
> +static const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
>         .takedown = ttm_bo_man_takedown,
>         .get_node = ttm_bo_man_get_node,
>         .put_node = ttm_bo_man_put_node,
>         .debug = ttm_bo_man_debug
>  };
> -EXPORT_SYMBOL(ttm_bo_manager_func);
> diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
> index 89053e761a69..2c84622faa44 100644
> --- a/include/drm/ttm/ttm_bo_api.h
> +++ b/include/drm/ttm/ttm_bo_api.h
> @@ -546,24 +546,6 @@ void ttm_mem_type_manager_init(struct ttm_bo_device *bdev,
>                                struct ttm_mem_type_manager *man,
>                                unsigned long p_size);
>
> -/**
> - * ttm_bo_init_mm
> - *
> - * @bdev: Pointer to a ttm_bo_device struct.
> - * @mem_type: The memory type.
> - * @p_size: size managed area in pages.
> - *
> - * Initialize a manager for a given memory type.
> - * Note: if part of driver firstopen, it must be protected from a
> - * potentially racing lastclose.
> - * Returns:
> - * -EINVAL: invalid size or memory type.
> - * -ENOMEM: Not enough memory.
> - * May also return driver-specified errors.
> - */
> -int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
> -                  unsigned long p_size);
> -
>  /**
>   * ttm_bo_clean_mm
>   *
> diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> index 3672dea3edca..548c27294c64 100644
> --- a/include/drm/ttm/ttm_bo_driver.h
> +++ b/include/drm/ttm/ttm_bo_driver.h
> @@ -48,19 +48,6 @@
>  struct ttm_mem_type_manager;
>
>  struct ttm_mem_type_manager_func {
> -       /**
> -        * struct ttm_mem_type_manager member init
> -        *
> -        * @man: Pointer to a memory type manager.
> -        * @p_size: Implementation dependent, but typically the size of the
> -        * range to be managed in pages.
> -        *
> -        * Called to initialize a private range manager. The function is
> -        * expected to initialize the man::priv member.
> -        * Returns 0 on success, negative error code on failure.
> -        */
> -       int  (*init)(struct ttm_mem_type_manager *man, unsigned long p_size);
> -
>         /**
>          * struct ttm_mem_type_manager member takedown
>          *
> @@ -822,8 +809,6 @@ int ttm_range_man_init(struct ttm_bo_device *bdev,
>                        struct ttm_mem_type_manager *man,
>                        unsigned long p_size);
>
> -extern const struct ttm_mem_type_manager_func ttm_bo_manager_func;
> -
>  /**
>   * ttm_mem_type_manager_debug
>   *
> --
> 2.26.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list