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

Boris Brezillon boris.brezillon at collabora.com
Thu Sep 5 19:41:32 UTC 2019


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