diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index 1fb787c449d2b49e38cbdf87db0c44d2c64d51e0..e1ad9354c85a158c62bbc320d74767f14b57607d 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -3863,7 +3863,7 @@ static int kgsl_mmap(struct file *file, struct vm_area_struct *vma) if (ret) return ret; - vma->vm_flags |= entry->memdesc.ops->vmflags(&entry->memdesc); + vma->vm_flags |= entry->memdesc.ops->vmflags; vma->vm_private_data = entry; diff --git a/drivers/gpu/msm/kgsl.h b/drivers/gpu/msm/kgsl.h index 7ab469efb97588a0ed21200c5e03ed021a7d27bb..d22c4f648c3bf82509759bb88b0fc67ef4cbe510 100644 --- a/drivers/gpu/msm/kgsl.h +++ b/drivers/gpu/msm/kgsl.h @@ -146,7 +146,7 @@ struct kgsl_memdesc; struct kgsl_cmdbatch; struct kgsl_memdesc_ops { - int (*vmflags)(struct kgsl_memdesc *); + unsigned int vmflags; int (*vmfault)(struct kgsl_memdesc *, struct vm_area_struct *, struct vm_fault *); void (*free)(struct kgsl_memdesc *memdesc); diff --git a/drivers/gpu/msm/kgsl_sharedmem.c b/drivers/gpu/msm/kgsl_sharedmem.c index 7741c5a86a250b315c3a02b0daf989ea0d9de119..5d4fc0088c99104361be578943e835154e81c5c6 100755 --- a/drivers/gpu/msm/kgsl_sharedmem.c +++ b/drivers/gpu/msm/kgsl_sharedmem.c @@ -390,16 +390,6 @@ static int kgsl_page_alloc_vmfault(struct kgsl_memdesc *memdesc, return VM_FAULT_SIGBUS; } -static int kgsl_page_alloc_vmflags(struct kgsl_memdesc *memdesc) -{ - return VM_RESERVED | VM_DONTEXPAND; -} - -static int kgsl_contiguous_vmflags(struct kgsl_memdesc *memdesc) -{ - return VM_RESERVED | VM_IO | VM_PFNMAP | VM_DONTEXPAND; -} - /* * kgsl_page_alloc_unmap_kernel() - Unmap the memory in memdesc * @@ -537,7 +527,8 @@ static void kgsl_cma_coherent_free(struct kgsl_memdesc *memdesc) /* Global - also used by kgsl_drm.c */ struct kgsl_memdesc_ops kgsl_page_alloc_ops = { .free = kgsl_page_alloc_free, - .vmflags = kgsl_page_alloc_vmflags, + .vmflags = VM_IO | VM_DONTEXPAND, + //.vmflags = VM_RESERVED | VM_DONTEXPAND, .vmfault = kgsl_page_alloc_vmfault, .map_kernel = kgsl_page_alloc_map_kernel, .unmap_kernel = kgsl_page_alloc_unmap_kernel, @@ -547,7 +538,8 @@ EXPORT_SYMBOL(kgsl_page_alloc_ops); /* CMA ops - used during NOMMU mode */ static struct kgsl_memdesc_ops kgsl_cma_ops = { .free = kgsl_cma_coherent_free, - .vmflags = kgsl_contiguous_vmflags, + .vmflags = VM_IO | VM_PFNMAP | VM_DONTEXPAND, + //.vmflags = VM_RESERVED | VM_PFNMAP | VM_DONTEXPAND, .vmfault = kgsl_contiguous_vmfault, };