diff options
author | Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org> | 2014-05-05 16:23:17 -0600 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2014-08-16 11:45:54 -0700 |
commit | 2dda0e5bdeb5a77ed4dab668b0ca93eae538a0cb (patch) | |
tree | 093a187a44473bf70d22f67b816e923649cfba07 | |
parent | 78af1e178f3ea1d496d95756cec778812b9cadf9 (diff) |
msm: kgsl: Add a flag to mark user mapped GPU buffersandroid-l-preview_r2.1
Add a flag in /sys/kernel/debug/kgsl/kgsl-3do/proc/<pid>/mem
file to indicate for each GPU buffer if it is mapped to userspace
in <pid> or not.
CRs-fixed: 634962
Change-Id: I8abda74ef5656aca6b1c0315af8deb77460fa5a9
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
-rw-r--r-- | drivers/gpu/msm/kgsl_debugfs.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/gpu/msm/kgsl_debugfs.c b/drivers/gpu/msm/kgsl_debugfs.c index 0525bd691c6e..7b8e2370e240 100644 --- a/drivers/gpu/msm/kgsl_debugfs.c +++ b/drivers/gpu/msm/kgsl_debugfs.c @@ -247,7 +247,7 @@ static char get_cacheflag(const struct kgsl_memdesc *m) static void print_mem_entry(struct seq_file *s, struct kgsl_mem_entry *entry) { - char flags[6]; + char flags[7]; char usage[16]; struct kgsl_memdesc *m = &entry->memdesc; @@ -256,13 +256,16 @@ static void print_mem_entry(struct seq_file *s, struct kgsl_mem_entry *entry) flags[2] = get_alignflag(m); flags[3] = get_cacheflag(m); flags[4] = kgsl_memdesc_use_cpu_map(m) ? 'p' : '-'; - flags[5] = '\0'; + flags[5] = (m->useraddr) ? 'Y' : 'N'; + flags[6] = '\0'; kgsl_get_memory_usage(usage, sizeof(usage), m->flags); - seq_printf(s, "%08x %08lx %8d %5d %5s %10s %16s %5d\n", - m->gpuaddr, m->useraddr, m->size, entry->id, flags, - memtype_str(entry->memtype), usage, m->sglen); + seq_printf(s, "%pK %pK %8zd %5d %6s %10s %16s %5d\n", + (unsigned long *)(uintptr_t) m->gpuaddr, + (unsigned long *) m->useraddr, + m->size, entry->id, flags, + memtype_str(entry->memtype), usage, m->sglen); } static int process_mem_print(struct seq_file *s, void *unused) @@ -272,7 +275,7 @@ static int process_mem_print(struct seq_file *s, void *unused) struct kgsl_process_private *private = s->private; int next = 0; - seq_printf(s, "%8s %8s %8s %5s %5s %10s %16s %5s\n", + seq_printf(s, "%8s %8s %8s %5s %6s %10s %16s %5s\n", "gpuaddr", "useraddr", "size", "id", "flags", "type", "usage", "sglen"); @@ -372,7 +375,7 @@ kgsl_process_init_debugfs(struct kgsl_process_private *private) * So if debugfs is disabled in kernel, return as * success. */ - dentry = debugfs_create_file("mem", 0400, private->debug_root, private, + dentry = debugfs_create_file("mem", 0444, private->debug_root, private, &process_mem_fops); if (IS_ERR(dentry)) { |