diff options
| author | Carter Cooper <ccooper@codeaurora.org> | 2015-08-27 15:25:01 -0600 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:13:41 -0700 |
| commit | 53dbbb3ed6396c6cdb0d4e500707f72027ab8841 (patch) | |
| tree | fa6fc94c33793489aff2c691ab7a07c2e1fe8b2f /drivers/gpu | |
| parent | 6eb6712708eedb23af89bcbd204f66c8a217c4b1 (diff) | |
msm: kgsl: Remove tracking virtual map sizes
mmapsize is no longer important to the memory descriptor
and the APIs that would use it never materialized. It currently
just tracks the size of the memdesc and is no longer needed.
Change-Id: I8fa1001c2f89f23034029de7de6ab77532bf45fa
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/msm/kgsl.c | 38 | ||||
| -rw-r--r-- | drivers/gpu/msm/kgsl.h | 2 | ||||
| -rw-r--r-- | drivers/gpu/msm/kgsl_iommu.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/msm/kgsl_sharedmem.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/msm/kgsl_sharedmem.h | 6 |
5 files changed, 17 insertions, 34 deletions
diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index 10e139a9b00f..d5e96abdb8d5 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -2045,7 +2045,6 @@ static int kgsl_setup_anon_useraddr(struct kgsl_pagetable *pagetable, entry->memdesc.pagetable = pagetable; entry->memdesc.size = (uint64_t) size; - entry->memdesc.mmapsize = (uint64_t) size; entry->memdesc.useraddr = hostptr; if (kgsl_memdesc_use_cpu_map(&entry->memdesc)) entry->memdesc.gpuaddr = (uint64_t) entry->memdesc.useraddr; @@ -2410,7 +2409,6 @@ static int kgsl_setup_dma_buf(struct kgsl_device *device, entry->priv_data = meta; entry->memdesc.pagetable = pagetable; entry->memdesc.size = 0; - entry->memdesc.mmapsize = 0; /* USE_CPU_MAP is not impemented for ION. */ entry->memdesc.flags &= ~((uint64_t) KGSL_MEMFLAGS_USE_CPU_MAP); entry->memdesc.flags |= KGSL_MEMFLAGS_USERMEM_ION; @@ -2444,7 +2442,6 @@ static int kgsl_setup_dma_buf(struct kgsl_device *device, } entry->memdesc.size = PAGE_ALIGN(entry->memdesc.size); - entry->memdesc.mmapsize = PAGE_ALIGN(entry->memdesc.size); out: if (ret) { @@ -2910,7 +2907,7 @@ static uint64_t kgsl_filter_cachemode(uint64_t flags) static struct kgsl_mem_entry *gpumem_alloc_entry( struct kgsl_device_private *dev_priv, - uint64_t size, uint64_t mmapsize, uint64_t flags) + uint64_t size, uint64_t flags) { int ret; struct kgsl_process_private *private = dev_priv->process_priv; @@ -2952,17 +2949,10 @@ static struct kgsl_mem_entry *gpumem_alloc_entry( KGSL_MEMALIGN_MASK; } - if (mmapsize < size) - mmapsize = size; - /* For now only allow allocations up to 4G */ if (size == 0 || size > UINT_MAX) return ERR_PTR(-EINVAL); - /* Only allow a mmap size that we can actually mmap */ - if (mmapsize > UINT_MAX) - return ERR_PTR(-EINVAL); - flags = kgsl_filter_cachemode(flags); entry = kgsl_mem_entry_create(); @@ -2976,7 +2966,7 @@ static struct kgsl_mem_entry *gpumem_alloc_entry( entry->memdesc.priv |= KGSL_MEMDESC_SECURE; ret = kgsl_allocate_user(dev_priv->device, &entry->memdesc, - private->pagetable, size, mmapsize, flags); + private->pagetable, size, flags); if (ret != 0) goto err; @@ -3025,8 +3015,7 @@ long kgsl_ioctl_gpuobj_alloc(struct kgsl_device_private *dev_priv, struct kgsl_gpuobj_alloc *param = data; struct kgsl_mem_entry *entry; - entry = gpumem_alloc_entry(dev_priv, param->size, - param->va_len, param->flags); + entry = gpumem_alloc_entry(dev_priv, param->size, param->flags); if (IS_ERR(entry)) return PTR_ERR(entry); @@ -3035,7 +3024,7 @@ long kgsl_ioctl_gpuobj_alloc(struct kgsl_device_private *dev_priv, param->size = entry->memdesc.size; param->flags = entry->memdesc.flags; - param->mmapsize = kgsl_memdesc_mmapsize(&entry->memdesc); + param->mmapsize = kgsl_memdesc_footprint(&entry->memdesc); param->id = entry->id; return 0; @@ -3052,8 +3041,7 @@ long kgsl_ioctl_gpumem_alloc(struct kgsl_device_private *dev_priv, flags &= ~((uint64_t) KGSL_MEMFLAGS_USE_CPU_MAP); flags |= KGSL_MEMFLAGS_FORCE_32BIT; - entry = gpumem_alloc_entry(dev_priv, (uint64_t) param->size, - (uint64_t) param->size, flags); + entry = gpumem_alloc_entry(dev_priv, (uint64_t) param->size, flags); if (IS_ERR(entry)) return PTR_ERR(entry); @@ -3074,8 +3062,7 @@ long kgsl_ioctl_gpumem_alloc_id(struct kgsl_device_private *dev_priv, flags |= KGSL_MEMFLAGS_FORCE_32BIT; - entry = gpumem_alloc_entry(dev_priv, (uint64_t) param->size, - (uint64_t) param->mmapsize, flags); + entry = gpumem_alloc_entry(dev_priv, (uint64_t) param->size, flags); if (IS_ERR(entry)) return PTR_ERR(entry); @@ -3083,8 +3070,7 @@ long kgsl_ioctl_gpumem_alloc_id(struct kgsl_device_private *dev_priv, param->id = entry->id; param->flags = (unsigned int) entry->memdesc.flags; param->size = (size_t) entry->memdesc.size; - param->mmapsize = (size_t) - kgsl_memdesc_mmapsize(&entry->memdesc); + param->mmapsize = (size_t) kgsl_memdesc_footprint(&entry->memdesc); param->gpuaddr = (unsigned long) entry->memdesc.gpuaddr; return 0; @@ -3121,7 +3107,7 @@ long kgsl_ioctl_gpumem_get_info(struct kgsl_device_private *dev_priv, param->id = entry->id; param->flags = (unsigned int) entry->memdesc.flags; param->size = (size_t) entry->memdesc.size; - param->mmapsize = (size_t) kgsl_memdesc_mmapsize(&entry->memdesc); + param->mmapsize = (size_t) kgsl_memdesc_footprint(&entry->memdesc); param->useraddr = entry->memdesc.useraddr; kgsl_mem_entry_put(entry); @@ -3146,7 +3132,7 @@ long kgsl_ioctl_gpuobj_info(struct kgsl_device_private *dev_priv, param->gpuaddr = entry->memdesc.gpuaddr; param->flags = entry->memdesc.flags; param->size = entry->memdesc.size; - param->va_len = kgsl_memdesc_mmapsize(&entry->memdesc); + param->va_len = kgsl_memdesc_footprint(&entry->memdesc); param->va_addr = (uint64_t) entry->memdesc.useraddr; kgsl_mem_entry_put(entry); @@ -3369,15 +3355,15 @@ get_mmap_entry(struct kgsl_process_private *private, } if (kgsl_memdesc_use_cpu_map(&entry->memdesc)) { - if (len != kgsl_memdesc_mmapsize(&entry->memdesc)) { + if (len != kgsl_memdesc_footprint(&entry->memdesc)) { ret = -ERANGE; goto err_put; } - } else if (len != kgsl_memdesc_mmapsize(&entry->memdesc) && + } else if (len != kgsl_memdesc_footprint(&entry->memdesc) && len != entry->memdesc.size) { /* * If cpu_map != gpumap then user can map either the - * mmapsize or the entry size + * footprint or the entry size */ ret = -ERANGE; goto err_put; diff --git a/drivers/gpu/msm/kgsl.h b/drivers/gpu/msm/kgsl.h index bc0ae2bac915..f675c4446081 100644 --- a/drivers/gpu/msm/kgsl.h +++ b/drivers/gpu/msm/kgsl.h @@ -147,7 +147,6 @@ struct kgsl_memdesc_ops { * @gpuaddr: GPU virtual address * @physaddr: Physical address of the memory object * @size: Size of the memory object - * @mmapsize: Total size of the object in VM (including guard) * @priv: Internal flags and settings * @sgt: Scatter gather table for allocated pages * @ops: Function hooks for the memdesc memory type @@ -164,7 +163,6 @@ struct kgsl_memdesc { uint64_t gpuaddr; phys_addr_t physaddr; uint64_t size; - uint64_t mmapsize; unsigned int priv; struct sg_table *sgt; struct kgsl_memdesc_ops *ops; diff --git a/drivers/gpu/msm/kgsl_iommu.c b/drivers/gpu/msm/kgsl_iommu.c index 4ae007432717..1d9bc378affb 100644 --- a/drivers/gpu/msm/kgsl_iommu.c +++ b/drivers/gpu/msm/kgsl_iommu.c @@ -1200,8 +1200,7 @@ static int _iommu_map_guard_page(struct kgsl_pagetable *pt, if (!kgsl_secure_guard_page_memdesc.sgt) { if (kgsl_allocate_user(KGSL_MMU_DEVICE(pt->mmu), &kgsl_secure_guard_page_memdesc, pt, - sgp_size, sgp_size, - KGSL_MEMFLAGS_SECURE)) { + sgp_size, KGSL_MEMFLAGS_SECURE)) { KGSL_CORE_ERR( "Secure guard page alloc failed\n"); return -ENOMEM; diff --git a/drivers/gpu/msm/kgsl_sharedmem.c b/drivers/gpu/msm/kgsl_sharedmem.c index 3ee782e96f6c..8bf0a243066e 100644 --- a/drivers/gpu/msm/kgsl_sharedmem.c +++ b/drivers/gpu/msm/kgsl_sharedmem.c @@ -336,7 +336,7 @@ static int kgsl_allocate_secure(struct kgsl_device *device, int kgsl_allocate_user(struct kgsl_device *device, struct kgsl_memdesc *memdesc, struct kgsl_pagetable *pagetable, - uint64_t size, uint64_t mmapsize, uint64_t flags) + uint64_t size, uint64_t flags) { int ret; diff --git a/drivers/gpu/msm/kgsl_sharedmem.h b/drivers/gpu/msm/kgsl_sharedmem.h index b4895500bcff..151217523759 100644 --- a/drivers/gpu/msm/kgsl_sharedmem.h +++ b/drivers/gpu/msm/kgsl_sharedmem.h @@ -67,7 +67,7 @@ void kgsl_sharedmem_uninit_sysfs(void); int kgsl_allocate_user(struct kgsl_device *device, struct kgsl_memdesc *memdesc, struct kgsl_pagetable *pagetable, - uint64_t size, uint64_t mmapsize, uint64_t flags); + uint64_t size, uint64_t flags); void kgsl_get_memory_usage(char *str, size_t len, uint64_t memflags); @@ -226,7 +226,7 @@ kgsl_memdesc_use_cpu_map(const struct kgsl_memdesc *memdesc) } /* - * kgsl_memdesc_mmapsize - get the size of the mmap region + * kgsl_memdesc_footprint - get the size of the mmap region * @memdesc - the memdesc * * The entire memdesc must be mapped. Additionally if the @@ -235,7 +235,7 @@ kgsl_memdesc_use_cpu_map(const struct kgsl_memdesc *memdesc) * match up. */ static inline uint64_t -kgsl_memdesc_mmapsize(const struct kgsl_memdesc *memdesc) +kgsl_memdesc_footprint(const struct kgsl_memdesc *memdesc) { uint64_t size = memdesc->size; if (kgsl_memdesc_has_guard_page(memdesc)) |
