summaryrefslogtreecommitdiff
path: root/drivers/gpu/msm/kgsl_debugfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/msm/kgsl_debugfs.c')
-rw-r--r--drivers/gpu/msm/kgsl_debugfs.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/drivers/gpu/msm/kgsl_debugfs.c b/drivers/gpu/msm/kgsl_debugfs.c
index 30769de41a70..36bb4d801df9 100644
--- a/drivers/gpu/msm/kgsl_debugfs.c
+++ b/drivers/gpu/msm/kgsl_debugfs.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2002,2008-2017,2020, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2002,2008-2017,2020-2021, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -149,7 +149,11 @@ static int print_mem_entry(void *data, void *ptr)
flags[3] = get_alignflag(m);
flags[4] = get_cacheflag(m);
flags[5] = kgsl_memdesc_use_cpu_map(m) ? 'p' : '-';
- flags[6] = (m->useraddr) ? 'Y' : 'N';
+ /*
+ * Show Y if at least one vma has this entry
+ * mapped (could be multiple)
+ */
+ flags[6] = atomic_read(&entry->map_count) ? 'Y' : 'N';
flags[7] = kgsl_memdesc_is_secured(m) ? 's' : '-';
flags[8] = m->flags & KGSL_MEMFLAGS_SPARSE_PHYS ? 'P' : '-';
flags[9] = '\0';
@@ -160,12 +164,16 @@ static int print_mem_entry(void *data, void *ptr)
kgsl_get_egl_counts(entry, &egl_surface_count,
&egl_image_count);
- seq_printf(s, "%pK %pK %16llu %5d %9s %10s %16s %5d %16llu %6d %6d",
+ seq_printf(s, "%pK %d %16llu %5d %9s %10s %16s %5d %16d %6d %6d",
(uint64_t *)(uintptr_t) m->gpuaddr,
- (unsigned long *) m->useraddr,
- m->size, entry->id, flags,
+ /*
+ * Show zero for the useraddr - we can't reliably track
+ * that value for multiple vmas anyway
+ */
+ 0, m->size, entry->id, flags,
memtype_str(usermem_type),
- usage, (m->sgt ? m->sgt->nents : 0), m->mapsize,
+ usage, (m->sgt ? m->sgt->nents : 0),
+ atomic_read(&entry->map_count),
egl_surface_count, egl_image_count);
if (entry->metadata[0] != 0)
@@ -235,7 +243,7 @@ static int process_mem_seq_show(struct seq_file *s, void *ptr)
if (ptr == SEQ_START_TOKEN) {
seq_printf(s, "%16s %16s %16s %5s %9s %10s %16s %5s %16s %6s %6s\n",
"gpuaddr", "useraddr", "size", "id", "flags", "type",
- "usage", "sglen", "mapsize", "eglsrf", "eglimg");
+ "usage", "sglen", "mapcount", "eglsrf", "eglimg");
return 0;
} else
return print_mem_entry(s, ptr);