[PATCH v3 4/4] drm/panthor: Display heap chunk entries in DebugFS GEMS file
Adrián Larumbe
adrian.larumbe at collabora.com
Thu Mar 27 14:08:37 UTC 2025
Expand the driver's DebugFS GEMS file to display entries for the heap
chunks' GEM objects, both those allocated at heap creation time through an
ioctl(), or in response to a tiler OOM event.
Signed-off-by: Adrián Larumbe <adrian.larumbe at collabora.com>
---
drivers/gpu/drm/panthor/panthor_gem.c | 12 +-----------
drivers/gpu/drm/panthor/panthor_gem.h | 14 ++++++++++++++
drivers/gpu/drm/panthor/panthor_heap.c | 3 +++
3 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/panthor/panthor_gem.c b/drivers/gpu/drm/panthor/panthor_gem.c
index fbf560920194..efc14c179680 100644
--- a/drivers/gpu/drm/panthor/panthor_gem.c
+++ b/drivers/gpu/drm/panthor/panthor_gem.c
@@ -22,16 +22,6 @@ static void panthor_gem_debugfs_bo_init(struct panthor_gem_object *bo)
get_task_comm(bo->gems.creator.process_name, current->group_leader);
}
-static void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo)
-{
- struct panthor_device *ptdev = container_of(bo->base.base.dev,
- struct panthor_device, base);
-
- mutex_lock(&ptdev->gems.lock);
- list_add_tail(&bo->gems.node, &ptdev->gems.node);
- mutex_unlock(&ptdev->gems.lock);
-}
-
static void panthor_gem_debugfs_bo_rm(struct panthor_gem_object *bo)
{
struct panthor_device *ptdev = container_of(bo->base.base.dev,
@@ -44,9 +34,9 @@ static void panthor_gem_debugfs_bo_rm(struct panthor_gem_object *bo)
list_del_init(&bo->gems.node);
mutex_unlock(&ptdev->gems.lock);
}
+
#else
static void panthor_gem_debugfs_bo_init(struct panthor_gem_object *bo) {}
-static void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo) {}
static void panthor_gem_debugfs_bo_rm(struct panthor_gem_object *bo) {}
#endif
diff --git a/drivers/gpu/drm/panthor/panthor_gem.h b/drivers/gpu/drm/panthor/panthor_gem.h
index 7c896ec35801..95093b98b990 100644
--- a/drivers/gpu/drm/panthor/panthor_gem.h
+++ b/drivers/gpu/drm/panthor/panthor_gem.h
@@ -11,6 +11,8 @@
#include <linux/iosys-map.h>
#include <linux/rwsem.h>
+#include "panthor_device.h"
+
struct panthor_vm;
/**
@@ -182,6 +184,18 @@ void panthor_kernel_bo_destroy(struct panthor_kernel_bo *bo);
#ifdef CONFIG_DEBUG_FS
void panthor_gem_debugfs_print_bos(struct panthor_device *pfdev,
struct seq_file *m);
+
+static inline void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo)
+{
+ struct panthor_device *ptdev = container_of(bo->base.base.dev,
+ struct panthor_device, base);
+
+ mutex_lock(&ptdev->gems.lock);
+ list_add_tail(&bo->gems.node, &ptdev->gems.node);
+ mutex_unlock(&ptdev->gems.lock);
+}
+#elif
+static inline void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo) {}
#endif
#endif /* __PANTHOR_GEM_H__ */
diff --git a/drivers/gpu/drm/panthor/panthor_heap.c b/drivers/gpu/drm/panthor/panthor_heap.c
index db0285ce5812..30136b386869 100644
--- a/drivers/gpu/drm/panthor/panthor_heap.c
+++ b/drivers/gpu/drm/panthor/panthor_heap.c
@@ -180,6 +180,9 @@ static int panthor_alloc_heap_chunk(struct panthor_device *ptdev,
heap->chunk_count++;
mutex_unlock(&heap->lock);
+ panthor_gem_kernel_bo_set_label(chunk->bo, "Tiler heap chunk");
+ panthor_gem_debugfs_bo_add(to_panthor_bo(chunk->bo->obj));
+
return 0;
err_destroy_bo:
--
2.48.1
More information about the dri-devel
mailing list