mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
Merge "msm: kgsl: Add a flag for guard page allocation"
This commit is contained in:
commit
b1d9b568be
3 changed files with 16 additions and 12 deletions
|
|
@ -2591,7 +2591,8 @@ long kgsl_ioctl_gpuobj_import(struct kgsl_device_private *dev_priv,
|
|||
| KGSL_MEMFLAGS_USE_CPU_MAP
|
||||
| KGSL_MEMFLAGS_SECURE
|
||||
| KGSL_MEMFLAGS_FORCE_32BIT
|
||||
| KGSL_MEMFLAGS_IOCOHERENT;
|
||||
| KGSL_MEMFLAGS_IOCOHERENT
|
||||
| KGSL_MEMFLAGS_GUARD_PAGE;
|
||||
|
||||
kgsl_memdesc_init(dev_priv->device, &entry->memdesc, param->flags);
|
||||
if (param->type == KGSL_USER_MEM_TYPE_ADDR)
|
||||
|
|
@ -3270,7 +3271,8 @@ struct kgsl_mem_entry *gpumem_alloc_entry(
|
|||
| KGSL_MEMFLAGS_USE_CPU_MAP
|
||||
| KGSL_MEMFLAGS_SECURE
|
||||
| KGSL_MEMFLAGS_FORCE_32BIT
|
||||
| KGSL_MEMFLAGS_IOCOHERENT;
|
||||
| KGSL_MEMFLAGS_IOCOHERENT
|
||||
| KGSL_MEMFLAGS_GUARD_PAGE;
|
||||
|
||||
/* Return not supported error if secure memory isn't enabled */
|
||||
if (!kgsl_mmu_is_secured(mmu) &&
|
||||
|
|
|
|||
|
|
@ -595,7 +595,8 @@ void kgsl_memdesc_init(struct kgsl_device *device,
|
|||
cachemode == KGSL_CACHEMODE_UNCACHED))
|
||||
flags &= ~((u64) KGSL_MEMFLAGS_IOCOHERENT);
|
||||
|
||||
if (kgsl_mmu_has_feature(device, KGSL_MMU_NEED_GUARD_PAGE))
|
||||
if (kgsl_mmu_has_feature(device, KGSL_MMU_NEED_GUARD_PAGE) ||
|
||||
(flags & KGSL_MEMFLAGS_GUARD_PAGE))
|
||||
memdesc->priv |= KGSL_MEMDESC_GUARD_PAGE;
|
||||
|
||||
if (flags & KGSL_MEMFLAGS_SECURE)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_MSM_KGSL_H
|
||||
|
|
@ -126,10 +126,10 @@
|
|||
/* --- Memory allocation flags --- */
|
||||
|
||||
/* General allocation hints */
|
||||
#define KGSL_MEMFLAGS_SECURE 0x00000008ULL
|
||||
#define KGSL_MEMFLAGS_GPUREADONLY 0x01000000U
|
||||
#define KGSL_MEMFLAGS_GPUWRITEONLY 0x02000000U
|
||||
#define KGSL_MEMFLAGS_FORCE_32BIT 0x100000000ULL
|
||||
#define KGSL_MEMFLAGS_SECURE (1ULL << 3)
|
||||
#define KGSL_MEMFLAGS_GPUREADONLY (1ULL << 24)
|
||||
#define KGSL_MEMFLAGS_GPUWRITEONLY (1ULL << 25)
|
||||
#define KGSL_MEMFLAGS_FORCE_32BIT (1ULL << 32)
|
||||
|
||||
/* Flag for binding all the virt range to single phys data */
|
||||
#define KGSL_SPARSE_BIND_MULTIPLE_TO_PHYS 0x400000000ULL
|
||||
|
|
@ -145,10 +145,11 @@
|
|||
#define KGSL_CACHEMODE_WRITETHROUGH 2
|
||||
#define KGSL_CACHEMODE_WRITEBACK 3
|
||||
|
||||
#define KGSL_MEMFLAGS_USE_CPU_MAP 0x10000000ULL
|
||||
#define KGSL_MEMFLAGS_SPARSE_PHYS 0x20000000ULL
|
||||
#define KGSL_MEMFLAGS_SPARSE_VIRT 0x40000000ULL
|
||||
#define KGSL_MEMFLAGS_IOCOHERENT 0x80000000ULL
|
||||
#define KGSL_MEMFLAGS_USE_CPU_MAP (1ULL << 28)
|
||||
#define KGSL_MEMFLAGS_SPARSE_PHYS (1ULL << 29)
|
||||
#define KGSL_MEMFLAGS_SPARSE_VIRT (1ULL << 30)
|
||||
#define KGSL_MEMFLAGS_IOCOHERENT (1ULL << 31)
|
||||
#define KGSL_MEMFLAGS_GUARD_PAGE (1ULL << 33)
|
||||
|
||||
/* Memory types for which allocations are made */
|
||||
#define KGSL_MEMTYPE_MASK 0x0000FF00
|
||||
|
|
|
|||
Loading…
Reference in a new issue