Loading drivers/gpu/msm/kgsl_sharedmem.c +0 −49 Original line number Original line Diff line number Diff line Loading @@ -455,13 +455,6 @@ static int kgsl_contiguous_vmfault(struct kgsl_memdesc *memdesc, return VM_FAULT_NOPAGE; return VM_FAULT_NOPAGE; } } static void kgsl_coherent_free(struct kgsl_memdesc *memdesc) { kgsl_driver.stats.coherent -= memdesc->size; dma_free_coherent(memdesc->dev, memdesc->size, memdesc->hostptr, memdesc->physaddr); } static void kgsl_cma_coherent_free(struct kgsl_memdesc *memdesc) static void kgsl_cma_coherent_free(struct kgsl_memdesc *memdesc) { { if (memdesc->hostptr) { if (memdesc->hostptr) { Loading @@ -487,10 +480,6 @@ static struct kgsl_memdesc_ops kgsl_cma_ops = { .vmfault = kgsl_contiguous_vmfault, .vmfault = kgsl_contiguous_vmfault, }; }; static struct kgsl_memdesc_ops kgsl_coherent_ops = { .free = kgsl_coherent_free, }; int kgsl_cache_range_op(struct kgsl_memdesc *memdesc, size_t offset, int kgsl_cache_range_op(struct kgsl_memdesc *memdesc, size_t offset, size_t size, unsigned int op) size_t size, unsigned int op) { { Loading Loading @@ -721,44 +710,6 @@ kgsl_sharedmem_page_alloc_user(struct kgsl_memdesc *memdesc, } } EXPORT_SYMBOL(kgsl_sharedmem_page_alloc_user); EXPORT_SYMBOL(kgsl_sharedmem_page_alloc_user); int kgsl_sharedmem_alloc_coherent(struct kgsl_device *device, struct kgsl_memdesc *memdesc, size_t size) { int result = 0; size = ALIGN(size, PAGE_SIZE); if (size == 0) return -EINVAL; memdesc->size = size; memdesc->ops = &kgsl_coherent_ops; memdesc->dev = &device->pdev->dev; memdesc->hostptr = dma_alloc_coherent(memdesc->dev, size, &memdesc->physaddr, GFP_KERNEL); if (memdesc->hostptr == NULL) { result = -ENOMEM; goto err; } result = memdesc_sg_phys(memdesc, memdesc->physaddr, size); if (result) goto err; /* Record statistics */ KGSL_STATS_ADD(size, kgsl_driver.stats.coherent, kgsl_driver.stats.coherent_max); err: if (result) kgsl_sharedmem_free(memdesc); return result; } EXPORT_SYMBOL(kgsl_sharedmem_alloc_coherent); void kgsl_sharedmem_free(struct kgsl_memdesc *memdesc) void kgsl_sharedmem_free(struct kgsl_memdesc *memdesc) { { if (memdesc == NULL || memdesc->size == 0) if (memdesc == NULL || memdesc->size == 0) Loading drivers/gpu/msm/kgsl_sharedmem.h +5 −5 Original line number Original line Diff line number Diff line Loading @@ -33,9 +33,6 @@ int kgsl_sharedmem_page_alloc_user(struct kgsl_memdesc *memdesc, struct kgsl_pagetable *pagetable, struct kgsl_pagetable *pagetable, size_t size); size_t size); int kgsl_sharedmem_alloc_coherent(struct kgsl_device *device, struct kgsl_memdesc *memdesc, size_t size); int kgsl_cma_alloc_coherent(struct kgsl_device *device, int kgsl_cma_alloc_coherent(struct kgsl_device *device, struct kgsl_memdesc *memdesc, struct kgsl_memdesc *memdesc, struct kgsl_pagetable *pagetable, size_t size); struct kgsl_pagetable *pagetable, size_t size); Loading Loading @@ -233,11 +230,14 @@ static inline int kgsl_allocate_contiguous(struct kgsl_device *device, kgsl_allocate_contiguous(struct kgsl_device *device, struct kgsl_memdesc *memdesc, size_t size) struct kgsl_memdesc *memdesc, size_t size) { { int ret = kgsl_sharedmem_alloc_coherent(device, memdesc, size); int ret; size = ALIGN(size, PAGE_SIZE); ret = kgsl_cma_alloc_coherent(device, memdesc, NULL, size); if (!ret && (kgsl_mmu_get_mmutype() == KGSL_MMU_TYPE_NONE)) if (!ret && (kgsl_mmu_get_mmutype() == KGSL_MMU_TYPE_NONE)) memdesc->gpuaddr = memdesc->physaddr; memdesc->gpuaddr = memdesc->physaddr; memdesc->flags |= (KGSL_MEMTYPE_KERNEL << KGSL_MEMTYPE_SHIFT); return ret; return ret; } } Loading Loading
drivers/gpu/msm/kgsl_sharedmem.c +0 −49 Original line number Original line Diff line number Diff line Loading @@ -455,13 +455,6 @@ static int kgsl_contiguous_vmfault(struct kgsl_memdesc *memdesc, return VM_FAULT_NOPAGE; return VM_FAULT_NOPAGE; } } static void kgsl_coherent_free(struct kgsl_memdesc *memdesc) { kgsl_driver.stats.coherent -= memdesc->size; dma_free_coherent(memdesc->dev, memdesc->size, memdesc->hostptr, memdesc->physaddr); } static void kgsl_cma_coherent_free(struct kgsl_memdesc *memdesc) static void kgsl_cma_coherent_free(struct kgsl_memdesc *memdesc) { { if (memdesc->hostptr) { if (memdesc->hostptr) { Loading @@ -487,10 +480,6 @@ static struct kgsl_memdesc_ops kgsl_cma_ops = { .vmfault = kgsl_contiguous_vmfault, .vmfault = kgsl_contiguous_vmfault, }; }; static struct kgsl_memdesc_ops kgsl_coherent_ops = { .free = kgsl_coherent_free, }; int kgsl_cache_range_op(struct kgsl_memdesc *memdesc, size_t offset, int kgsl_cache_range_op(struct kgsl_memdesc *memdesc, size_t offset, size_t size, unsigned int op) size_t size, unsigned int op) { { Loading Loading @@ -721,44 +710,6 @@ kgsl_sharedmem_page_alloc_user(struct kgsl_memdesc *memdesc, } } EXPORT_SYMBOL(kgsl_sharedmem_page_alloc_user); EXPORT_SYMBOL(kgsl_sharedmem_page_alloc_user); int kgsl_sharedmem_alloc_coherent(struct kgsl_device *device, struct kgsl_memdesc *memdesc, size_t size) { int result = 0; size = ALIGN(size, PAGE_SIZE); if (size == 0) return -EINVAL; memdesc->size = size; memdesc->ops = &kgsl_coherent_ops; memdesc->dev = &device->pdev->dev; memdesc->hostptr = dma_alloc_coherent(memdesc->dev, size, &memdesc->physaddr, GFP_KERNEL); if (memdesc->hostptr == NULL) { result = -ENOMEM; goto err; } result = memdesc_sg_phys(memdesc, memdesc->physaddr, size); if (result) goto err; /* Record statistics */ KGSL_STATS_ADD(size, kgsl_driver.stats.coherent, kgsl_driver.stats.coherent_max); err: if (result) kgsl_sharedmem_free(memdesc); return result; } EXPORT_SYMBOL(kgsl_sharedmem_alloc_coherent); void kgsl_sharedmem_free(struct kgsl_memdesc *memdesc) void kgsl_sharedmem_free(struct kgsl_memdesc *memdesc) { { if (memdesc == NULL || memdesc->size == 0) if (memdesc == NULL || memdesc->size == 0) Loading
drivers/gpu/msm/kgsl_sharedmem.h +5 −5 Original line number Original line Diff line number Diff line Loading @@ -33,9 +33,6 @@ int kgsl_sharedmem_page_alloc_user(struct kgsl_memdesc *memdesc, struct kgsl_pagetable *pagetable, struct kgsl_pagetable *pagetable, size_t size); size_t size); int kgsl_sharedmem_alloc_coherent(struct kgsl_device *device, struct kgsl_memdesc *memdesc, size_t size); int kgsl_cma_alloc_coherent(struct kgsl_device *device, int kgsl_cma_alloc_coherent(struct kgsl_device *device, struct kgsl_memdesc *memdesc, struct kgsl_memdesc *memdesc, struct kgsl_pagetable *pagetable, size_t size); struct kgsl_pagetable *pagetable, size_t size); Loading Loading @@ -233,11 +230,14 @@ static inline int kgsl_allocate_contiguous(struct kgsl_device *device, kgsl_allocate_contiguous(struct kgsl_device *device, struct kgsl_memdesc *memdesc, size_t size) struct kgsl_memdesc *memdesc, size_t size) { { int ret = kgsl_sharedmem_alloc_coherent(device, memdesc, size); int ret; size = ALIGN(size, PAGE_SIZE); ret = kgsl_cma_alloc_coherent(device, memdesc, NULL, size); if (!ret && (kgsl_mmu_get_mmutype() == KGSL_MMU_TYPE_NONE)) if (!ret && (kgsl_mmu_get_mmutype() == KGSL_MMU_TYPE_NONE)) memdesc->gpuaddr = memdesc->physaddr; memdesc->gpuaddr = memdesc->physaddr; memdesc->flags |= (KGSL_MEMTYPE_KERNEL << KGSL_MEMTYPE_SHIFT); return ret; return ret; } } Loading