]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/v3d: Show the memory-management stats on debugfs
authorMaíra Canal <mcanal@igalia.com>
Fri, 5 Jan 2024 14:57:42 +0000 (11:57 -0300)
committerMaíra Canal <mcanal@igalia.com>
Thu, 11 Jan 2024 14:45:47 +0000 (11:45 -0300)
Dump the contents of the DRM MM allocator of the V3D driver. This will
help us to debug the VA ranges allocated.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Melissa Wen <mwen@igalia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240105145851.193492-1-mcanal@igalia.com
drivers/gpu/drm/v3d/v3d_debugfs.c

index f843a50d5dce6df10b405ae26853a5d01dbd7c0c..cdfe1d3bf5eef8a737e4f1775209d2bb7d25d44d 100644 (file)
@@ -260,11 +260,26 @@ static int v3d_measure_clock(struct seq_file *m, void *unused)
        return 0;
 }
 
+static int v3d_debugfs_mm(struct seq_file *m, void *unused)
+{
+       struct drm_printer p = drm_seq_file_printer(m);
+       struct drm_debugfs_entry *entry = m->private;
+       struct drm_device *dev = entry->dev;
+       struct v3d_dev *v3d = to_v3d_dev(dev);
+
+       spin_lock(&v3d->mm_lock);
+       drm_mm_print(&v3d->mm, &p);
+       spin_unlock(&v3d->mm_lock);
+
+       return 0;
+}
+
 static const struct drm_debugfs_info v3d_debugfs_list[] = {
        {"v3d_ident", v3d_v3d_debugfs_ident, 0},
        {"v3d_regs", v3d_v3d_debugfs_regs, 0},
        {"measure_clock", v3d_measure_clock, 0},
        {"bo_stats", v3d_debugfs_bo_stats, 0},
+       {"v3d_mm", v3d_debugfs_mm, 0},
 };
 
 void