[Mesa-dev] [PATCH v3 07/25] panfrost: Get rid of the now unused SLAB allocator

Alyssa Rosenzweig alyssa at rosenzweig.io
Thu Sep 5 19:57:57 UTC 2019


Glad to see this gone, thank you! R-b

On Thu, Sep 05, 2019 at 09:41:32PM +0200, Boris Brezillon wrote:
> The last users have been converted to use plain BOs. Let's get rid of
> this abstraction. We can always consider adding it back if we need it
> at some point.
> 
> Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
> ---
>  src/gallium/drivers/panfrost/pan_allocate.h | 13 ------------
>  src/gallium/drivers/panfrost/pan_drm.c      | 23 ---------------------
>  src/gallium/drivers/panfrost/pan_screen.h   | 11 ----------
>  3 files changed, 47 deletions(-)
> 
> diff --git a/src/gallium/drivers/panfrost/pan_allocate.h b/src/gallium/drivers/panfrost/pan_allocate.h
> index cf9499154c8b..c0aff62df4a1 100644
> --- a/src/gallium/drivers/panfrost/pan_allocate.h
> +++ b/src/gallium/drivers/panfrost/pan_allocate.h
> @@ -63,23 +63,10 @@ struct panfrost_bo {
>          uint32_t flags;
>  };
>  
> -struct panfrost_memory {
> -        /* Backing for the slab in memory */
> -        struct panfrost_bo *bo;
> -        int stack_bottom;
> -};
> -
>  struct panfrost_transfer
>  panfrost_allocate_transient(struct panfrost_context *ctx, size_t sz);
>  
>  mali_ptr
>  panfrost_upload_transient(struct panfrost_context *ctx, const void *data, size_t sz);
>  
> -static inline mali_ptr
> -panfrost_reserve(struct panfrost_memory *mem, size_t sz)
> -{
> -        mem->stack_bottom += sz;
> -        return mem->bo->gpu + (mem->stack_bottom - sz);
> -}
> -
>  #endif /* __PAN_ALLOCATE_H__ */
> diff --git a/src/gallium/drivers/panfrost/pan_drm.c b/src/gallium/drivers/panfrost/pan_drm.c
> index 1edbb5bd1dcc..e7dcd2e58751 100644
> --- a/src/gallium/drivers/panfrost/pan_drm.c
> +++ b/src/gallium/drivers/panfrost/pan_drm.c
> @@ -183,29 +183,6 @@ panfrost_drm_release_bo(struct panfrost_screen *screen, struct panfrost_bo *bo,
>          ralloc_free(bo);
>  }
>  
> -void
> -panfrost_drm_allocate_slab(struct panfrost_screen *screen,
> -                           struct panfrost_memory *mem,
> -                           size_t pages,
> -                           bool same_va,
> -                           int extra_flags,
> -                           int commit_count,
> -                           int extent)
> -{
> -        // TODO cache allocations
> -        // TODO properly handle errors
> -        // TODO take into account extra_flags
> -        mem->bo = panfrost_drm_create_bo(screen, pages * 4096, extra_flags);
> -        mem->stack_bottom = 0;
> -}
> -
> -void
> -panfrost_drm_free_slab(struct panfrost_screen *screen, struct panfrost_memory *mem)
> -{
> -        panfrost_bo_unreference(&screen->base, mem->bo);
> -        mem->bo = NULL;
> -}
> -
>  struct panfrost_bo *
>  panfrost_drm_import_bo(struct panfrost_screen *screen, int fd)
>  {
> diff --git a/src/gallium/drivers/panfrost/pan_screen.h b/src/gallium/drivers/panfrost/pan_screen.h
> index 7ed5193277ac..96044b8c8b90 100644
> --- a/src/gallium/drivers/panfrost/pan_screen.h
> +++ b/src/gallium/drivers/panfrost/pan_screen.h
> @@ -120,17 +120,6 @@ pan_screen(struct pipe_screen *p)
>          return (struct panfrost_screen *)p;
>  }
>  
> -void
> -panfrost_drm_allocate_slab(struct panfrost_screen *screen,
> -                           struct panfrost_memory *mem,
> -                           size_t pages,
> -                           bool same_va,
> -                           int extra_flags,
> -                           int commit_count,
> -                           int extent);
> -void
> -panfrost_drm_free_slab(struct panfrost_screen *screen,
> -                       struct panfrost_memory *mem);
>  struct panfrost_bo *
>  panfrost_drm_create_bo(struct panfrost_screen *screen, size_t size,
>                         uint32_t flags);
> -- 
> 2.21.0


More information about the mesa-dev mailing list