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

Commit 41a6cd64 authored by Jeremy Gebben's avatar Jeremy Gebben
Browse files

msm: kgsl: ignore KGSL_MEMFLAGS_GPUWRITEONLY



This flag doesn't represent anything that any ARM architecture iommu
can actually do. If userspace sets it in the allocation flags, it will
be clear when their ioctl returns and userspace can decide to fail
if necessary.

Change-Id: I956f6ee51e4f2d898b75ae34921459d1d756bd54
Signed-off-by: default avatarJeremy Gebben <jgebben@codeaurora.org>
parent 136a5c29
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -2337,8 +2337,7 @@ long kgsl_ioctl_gpuobj_import(struct kgsl_device_private *dev_priv,
			| KGSL_MEMTYPE_MASK
			| KGSL_MEMALIGN_MASK
			| KGSL_MEMFLAGS_USE_CPU_MAP
			| KGSL_MEMFLAGS_SECURE
			| KGSL_MEMFLAGS_GPUWRITEONLY;
			| KGSL_MEMFLAGS_SECURE;

	entry->memdesc.flags = param->flags;

@@ -2571,7 +2570,6 @@ long kgsl_ioctl_map_user_mem(struct kgsl_device_private *dev_priv,
	 * determined by type of allocation being mapped.
	 */
	param->flags &= KGSL_MEMFLAGS_GPUREADONLY
			| KGSL_MEMFLAGS_GPUWRITEONLY
			| KGSL_MEMTYPE_MASK
			| KGSL_MEMALIGN_MASK
			| KGSL_MEMFLAGS_USE_CPU_MAP
@@ -2984,7 +2982,6 @@ static struct kgsl_mem_entry *gpumem_alloc_entry(
	unsigned int align;

	flags &= KGSL_MEMFLAGS_GPUREADONLY
		| KGSL_MEMFLAGS_GPUWRITEONLY
		| KGSL_CACHEMODE_MASK
		| KGSL_MEMTYPE_MASK
		| KGSL_MEMALIGN_MASK
+1 −1
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ static void print_mem_entry(struct seq_file *s, struct kgsl_mem_entry *entry)
	struct kgsl_memdesc *m = &entry->memdesc;

	flags[0] = kgsl_memdesc_is_global(m) ?  'g' : '-';
	flags[1] = !(m->flags & KGSL_MEMFLAGS_GPUWRITEONLY) ? 'r' : '-';
	flags[1] = '-';
	flags[2] = !(m->flags & KGSL_MEMFLAGS_GPUREADONLY) ? 'w' : '-';
	flags[3] = get_alignflag(m);
	flags[4] = get_cacheflag(m);
+0 −2
Original line number Diff line number Diff line
@@ -1195,8 +1195,6 @@ kgsl_iommu_map(struct kgsl_pagetable *pt,
	/* Set up the protection for the page(s) */
	if (memdesc->flags & KGSL_MEMFLAGS_GPUREADONLY)
		flags &= ~IOMMU_WRITE;
	if (memdesc->flags & KGSL_MEMFLAGS_GPUWRITEONLY)
		flags &= ~IOMMU_READ;

	if (memdesc->priv & KGSL_MEMDESC_PRIVILEGED)
		flags |= IOMMU_PRIV;