[PATCH 07/13] drm/ttm: flip over the sys manager to self allocated nodes

Matthew Auld matthew.william.auld at gmail.com
Fri Apr 30 15:04:19 UTC 2021


On Fri, 30 Apr 2021 at 10:25, Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
>
> Make sure to allocate a resource object here.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>  drivers/gpu/drm/ttm/ttm_sys_manager.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_sys_manager.c b/drivers/gpu/drm/ttm/ttm_sys_manager.c
> index ed92615214e3..a926114edfe5 100644
> --- a/drivers/gpu/drm/ttm/ttm_sys_manager.c
> +++ b/drivers/gpu/drm/ttm/ttm_sys_manager.c
> @@ -3,18 +3,25 @@
>  #include <drm/ttm/ttm_resource.h>
>  #include <drm/ttm/ttm_device.h>
>  #include <drm/ttm/ttm_placement.h>
> +#include <linux/slab.h>
>
>  static int ttm_sys_man_alloc(struct ttm_resource_manager *man,
>                              struct ttm_buffer_object *bo,
>                              const struct ttm_place *place,
>                              struct ttm_resource *mem)
>  {
> +       mem->mm_node = kzalloc(sizeof(*mem), GFP_KERNEL);
> +       if (!mem->mm_node)
> +               return -ENOMEM;
> +
> +       ttm_resource_init(bo, place, mem->mm_node);

Yeah, why are we passing the mm_node here, it's not the ttm_resource?

>         return 0;
>  }
>
>  static void ttm_sys_man_free(struct ttm_resource_manager *man,
>                              struct ttm_resource *mem)
>  {
> +       kfree(mem->mm_node);
>  }
>
>  static const struct ttm_resource_manager_func ttm_sys_manager_func = {
> --
> 2.25.1
>


More information about the dri-devel mailing list