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()
554 void *cpu_addr, size_t size) in __free_from_contiguous() argument
557 __dma_free_remap(cpu_addr, size); in __free_from_contiguous()
581 #define __free_from_pool(cpu_addr, size) 0 argument
582 #define __free_from_contiguous(dev, page, cpu_addr, size) do { } while (0) argument
583 #define __dma_free_remap(cpu_addr, size) do { } while (0) argument
684 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_dma_mmap() argument
696 if (dma_mmap_from_coherent(dev, vma, cpu_addr, size, &ret)) in arm_dma_mmap()
713 static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in __arm_dma_free() argument
719 if (dma_release_from_coherent(dev, get_order(size), cpu_addr)) in __arm_dma_free()
726 } else if (__free_from_pool(cpu_addr, size)) { in __arm_dma_free()
729 __dma_free_remap(cpu_addr, size); in __arm_dma_free()
736 __free_from_contiguous(dev, page, cpu_addr, size); in __arm_dma_free()
740 void arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_dma_free() argument
743 __arm_dma_free(dev, size, cpu_addr, handle, attrs, false); in arm_dma_free()
746 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_coherent_dma_free() argument
749 __arm_dma_free(dev, size, cpu_addr, handle, attrs, true); in arm_coherent_dma_free()
764 void *cpu_addr, dma_addr_t handle, size_t size, in arm_dma_get_sgtable() argument
1288 static struct page **__iommu_get_pages(void *cpu_addr, struct dma_attrs *attrs) in __iommu_get_pages() argument
1292 if (__in_atomic_pool(cpu_addr, PAGE_SIZE)) in __iommu_get_pages()
1293 return __atomic_get_pages(cpu_addr); in __iommu_get_pages()
1296 return cpu_addr; in __iommu_get_pages()
1298 area = find_vm_area(cpu_addr); in __iommu_get_pages()
1325 static void __iommu_free_atomic(struct device *dev, void *cpu_addr, in __iommu_free_atomic() argument
1329 __free_from_pool(cpu_addr, size); in __iommu_free_atomic()
1380 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_iommu_mmap_attrs() argument
1385 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_mmap_attrs()
1409 void arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr, in arm_iommu_free_attrs() argument
1415 if (__in_atomic_pool(cpu_addr, size)) { in arm_iommu_free_attrs()
1416 __iommu_free_atomic(dev, cpu_addr, handle, size); in arm_iommu_free_attrs()
1420 pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_free_attrs()
1422 WARN(1, "trying to free invalid coherent area: %p\n", cpu_addr); in arm_iommu_free_attrs()
1427 dma_common_free_remap(cpu_addr, size, in arm_iommu_free_attrs()
1436 void *cpu_addr, dma_addr_t dma_addr, in arm_iommu_get_sgtable() argument
1440 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_get_sgtable()