Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04e2f05e authored by Harsh Vardhan Dwivedi's avatar Harsh Vardhan Dwivedi
Browse files

msm: kgsl: Add a flag to mark user mapped GPU buffers



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: default avatarHarsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
parent fd7ab9da
Loading
Loading
Loading
Loading
+5 −4
Original line number Original line Diff line number Diff line
@@ -159,7 +159,7 @@ static char get_cacheflag(const struct kgsl_memdesc *m)


static void print_mem_entry(struct seq_file *s, struct kgsl_mem_entry *entry)
static void print_mem_entry(struct seq_file *s, struct kgsl_mem_entry *entry)
{
{
	char flags[6];
	char flags[7];
	char usage[16];
	char usage[16];
	struct kgsl_memdesc *m = &entry->memdesc;
	struct kgsl_memdesc *m = &entry->memdesc;


@@ -168,11 +168,12 @@ static void print_mem_entry(struct seq_file *s, struct kgsl_mem_entry *entry)
	flags[2] = get_alignflag(m);
	flags[2] = get_alignflag(m);
	flags[3] = get_cacheflag(m);
	flags[3] = get_cacheflag(m);
	flags[4] = kgsl_memdesc_use_cpu_map(m) ? 'p' : '-';
	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);
	kgsl_get_memory_usage(usage, sizeof(usage), m->flags);


	seq_printf(s, "%pK %pK %8zd %5d %5s %10s %16s %5d\n",
	seq_printf(s, "%pK %pK %8zd %5d %6s %10s %16s %5d\n",
			(unsigned long *)(uintptr_t) m->gpuaddr,
			(unsigned long *)(uintptr_t) m->gpuaddr,
			(unsigned long *) m->useraddr,
			(unsigned long *) m->useraddr,
			m->size, entry->id, flags,
			m->size, entry->id, flags,
@@ -187,7 +188,7 @@ static int process_mem_print(struct seq_file *s, void *unused)
	struct kgsl_process_private *private = s->private;
	struct kgsl_process_private *private = s->private;
	int next = 0;
	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",
		   "gpuaddr", "useraddr", "size", "id", "flags", "type",
		   "usage", "sglen");
		   "usage", "sglen");