Lines Matching refs:cpu_addr
54 void *cpu_addr; member
219 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr,
222 void *cpu_addr, dma_addr_t dma_addr, size_t size,
556 void *cpu_addr, size_t size, bool want_vaddr) in __free_from_contiguous() argument
560 dma_common_free_remap(cpu_addr, size); in __free_from_contiguous()
616 __free_from_contiguous(args->dev, args->page, args->cpu_addr, in cma_allocator_free()
633 __free_from_pool(args->cpu_addr, args->size); in pool_allocator_free()
652 dma_common_free_remap(args->cpu_addr, args->size); in remap_allocator_free()
760 void *cpu_addr, dma_addr_t dma_addr, size_t size, in __arm_dma_mmap() argument
769 if (dma_mmap_from_dev_coherent(dev, vma, cpu_addr, size, &ret)) in __arm_dma_mmap()
786 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_coherent_dma_mmap() argument
789 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_coherent_dma_mmap()
793 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_dma_mmap() argument
797 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_dma_mmap()
803 static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in __arm_dma_free() argument
812 .cpu_addr = cpu_addr, in __arm_dma_free()
817 buf = arm_dma_buffer_find(cpu_addr); in __arm_dma_free()
818 if (WARN(!buf, "Freeing invalid buffer %p\n", cpu_addr)) in __arm_dma_free()
825 void arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_dma_free() argument
828 __arm_dma_free(dev, size, cpu_addr, handle, attrs, false); in arm_dma_free()
831 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_coherent_dma_free() argument
834 __arm_dma_free(dev, size, cpu_addr, handle, attrs, true); in arm_coherent_dma_free()
838 void *cpu_addr, dma_addr_t handle, size_t size, in arm_dma_get_sgtable() argument
1376 static struct page **__iommu_get_pages(void *cpu_addr, unsigned long attrs) in __iommu_get_pages() argument
1378 if (__in_atomic_pool(cpu_addr, PAGE_SIZE)) in __iommu_get_pages()
1379 return __atomic_get_pages(cpu_addr); in __iommu_get_pages()
1382 return cpu_addr; in __iommu_get_pages()
1384 return dma_common_find_pages(cpu_addr); in __iommu_get_pages()
1412 static void __iommu_free_atomic(struct device *dev, void *cpu_addr, in __iommu_free_atomic() argument
1417 __dma_free_buffer(virt_to_page(cpu_addr), size); in __iommu_free_atomic()
1419 __free_from_pool(cpu_addr, size); in __iommu_free_atomic()
1484 void *cpu_addr, dma_addr_t dma_addr, size_t size, in __arm_iommu_mmap_attrs() argument
1487 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in __arm_iommu_mmap_attrs()
1504 struct vm_area_struct *vma, void *cpu_addr, in arm_iommu_mmap_attrs() argument
1509 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_iommu_mmap_attrs()
1513 struct vm_area_struct *vma, void *cpu_addr, in arm_coherent_iommu_mmap_attrs() argument
1516 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_coherent_iommu_mmap_attrs()
1523 static void __arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr, in __arm_iommu_free_attrs() argument
1529 if (coherent_flag == COHERENT || __in_atomic_pool(cpu_addr, size)) { in __arm_iommu_free_attrs()
1530 __iommu_free_atomic(dev, cpu_addr, handle, size, coherent_flag); in __arm_iommu_free_attrs()
1534 pages = __iommu_get_pages(cpu_addr, attrs); in __arm_iommu_free_attrs()
1536 WARN(1, "trying to free invalid coherent area: %p\n", cpu_addr); in __arm_iommu_free_attrs()
1541 dma_common_free_remap(cpu_addr, size); in __arm_iommu_free_attrs()
1548 void *cpu_addr, dma_addr_t handle, in arm_iommu_free_attrs() argument
1551 __arm_iommu_free_attrs(dev, size, cpu_addr, handle, attrs, NORMAL); in arm_iommu_free_attrs()
1555 void *cpu_addr, dma_addr_t handle, unsigned long attrs) in arm_coherent_iommu_free_attrs() argument
1557 __arm_iommu_free_attrs(dev, size, cpu_addr, handle, attrs, COHERENT); in arm_coherent_iommu_free_attrs()
1561 void *cpu_addr, dma_addr_t dma_addr, in arm_iommu_get_sgtable() argument
1565 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_get_sgtable()
2322 void arch_dma_free(struct device *dev, size_t size, void *cpu_addr, in arch_dma_free() argument
2325 __arm_dma_free(dev, size, cpu_addr, dma_handle, attrs, false); in arch_dma_free()