Lines Matching refs:cpu_addr
149 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr,
311 static void __dma_free_remap(void *cpu_addr, size_t size) in __dma_free_remap() argument
313 dma_common_free_remap(cpu_addr, size, in __dma_free_remap()
562 void *cpu_addr, size_t size, bool want_vaddr) in __free_from_contiguous() argument
566 __dma_free_remap(cpu_addr, size); in __free_from_contiguous()
591 #define __free_from_pool(cpu_addr, size) 0 argument
592 #define __free_from_contiguous(dev, page, cpu_addr, size, wv) do { } while (0) argument
593 #define __dma_free_remap(cpu_addr, size) do { } while (0) argument
697 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_dma_mmap() argument
709 if (dma_mmap_from_coherent(dev, vma, cpu_addr, size, &ret)) in arm_dma_mmap()
726 static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in __arm_dma_free() argument
733 if (dma_release_from_coherent(dev, get_order(size), cpu_addr)) in __arm_dma_free()
740 } else if (__free_from_pool(cpu_addr, size)) { in __arm_dma_free()
744 __dma_free_remap(cpu_addr, size); in __arm_dma_free()
751 __free_from_contiguous(dev, page, cpu_addr, size, want_vaddr); in __arm_dma_free()
755 void arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_dma_free() argument
758 __arm_dma_free(dev, size, cpu_addr, handle, attrs, false); in arm_dma_free()
761 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_coherent_dma_free() argument
764 __arm_dma_free(dev, size, cpu_addr, handle, attrs, true); in arm_coherent_dma_free()
768 void *cpu_addr, dma_addr_t handle, size_t size, in arm_dma_get_sgtable() argument
1300 static struct page **__iommu_get_pages(void *cpu_addr, struct dma_attrs *attrs) in __iommu_get_pages() argument
1304 if (__in_atomic_pool(cpu_addr, PAGE_SIZE)) in __iommu_get_pages()
1305 return __atomic_get_pages(cpu_addr); in __iommu_get_pages()
1308 return cpu_addr; in __iommu_get_pages()
1310 area = find_vm_area(cpu_addr); in __iommu_get_pages()
1337 static void __iommu_free_atomic(struct device *dev, void *cpu_addr, in __iommu_free_atomic() argument
1341 __free_from_pool(cpu_addr, size); in __iommu_free_atomic()
1392 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_iommu_mmap_attrs() argument
1397 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_mmap_attrs()
1428 void arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr, in arm_iommu_free_attrs() argument
1434 if (__in_atomic_pool(cpu_addr, size)) { in arm_iommu_free_attrs()
1435 __iommu_free_atomic(dev, cpu_addr, handle, size); in arm_iommu_free_attrs()
1439 pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_free_attrs()
1441 WARN(1, "trying to free invalid coherent area: %p\n", cpu_addr); in arm_iommu_free_attrs()
1446 dma_common_free_remap(cpu_addr, size, in arm_iommu_free_attrs()
1455 void *cpu_addr, dma_addr_t dma_addr, in arm_iommu_get_sgtable() argument
1459 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_get_sgtable()