Loading drivers/gpu/msm/kgsl.c +4 −2 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) && Loading drivers/gpu/msm/kgsl_sharedmem.c +2 −1 Original line number Diff line number Diff line Loading @@ -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) Loading include/uapi/linux/msm_kgsl.h +10 −9 Original line number Diff line number Diff line /* 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 Loading Loading @@ -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 Loading @@ -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 Loading
drivers/gpu/msm/kgsl.c +4 −2 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) && Loading
drivers/gpu/msm/kgsl_sharedmem.c +2 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
include/uapi/linux/msm_kgsl.h +10 −9 Original line number Diff line number Diff line /* 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 Loading Loading @@ -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 Loading @@ -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