Lines Matching refs:cpu_addr
58 void *cpu_addr; member
208 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr,
211 void *cpu_addr, dma_addr_t dma_addr, size_t size,
378 static void __dma_free_remap(void *cpu_addr, size_t size) in __dma_free_remap() argument
380 dma_common_free_remap(cpu_addr, size, in __dma_free_remap()
623 void *cpu_addr, size_t size, bool want_vaddr) in __free_from_contiguous() argument
627 __dma_free_remap(cpu_addr, size); in __free_from_contiguous()
683 __free_from_contiguous(args->dev, args->page, args->cpu_addr, in cma_allocator_free()
700 __free_from_pool(args->cpu_addr, args->size); in pool_allocator_free()
719 __dma_free_remap(args->cpu_addr, args->size); in remap_allocator_free()
830 void *cpu_addr, dma_addr_t dma_addr, size_t size, in __arm_dma_mmap() argument
839 if (dma_mmap_from_dev_coherent(dev, vma, cpu_addr, size, &ret)) in __arm_dma_mmap()
856 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_coherent_dma_mmap() argument
859 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_coherent_dma_mmap()
863 void *cpu_addr, dma_addr_t dma_addr, size_t size, in arm_dma_mmap() argument
867 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_dma_mmap()
873 static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in __arm_dma_free() argument
882 .cpu_addr = cpu_addr, in __arm_dma_free()
887 buf = arm_dma_buffer_find(cpu_addr); in __arm_dma_free()
888 if (WARN(!buf, "Freeing invalid buffer %p\n", cpu_addr)) in __arm_dma_free()
895 void arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_dma_free() argument
898 __arm_dma_free(dev, size, cpu_addr, handle, attrs, false); in arm_dma_free()
901 static void arm_coherent_dma_free(struct device *dev, size_t size, void *cpu_addr, in arm_coherent_dma_free() argument
904 __arm_dma_free(dev, size, cpu_addr, handle, attrs, true); in arm_coherent_dma_free()
919 void *cpu_addr, dma_addr_t handle, size_t size, in arm_dma_get_sgtable() argument
1470 static struct page **__iommu_get_pages(void *cpu_addr, unsigned long attrs) in __iommu_get_pages() argument
1474 if (__in_atomic_pool(cpu_addr, PAGE_SIZE)) in __iommu_get_pages()
1475 return __atomic_get_pages(cpu_addr); in __iommu_get_pages()
1478 return cpu_addr; in __iommu_get_pages()
1480 area = find_vm_area(cpu_addr); in __iommu_get_pages()
1511 static void __iommu_free_atomic(struct device *dev, void *cpu_addr, in __iommu_free_atomic() argument
1516 __dma_free_buffer(virt_to_page(cpu_addr), size); in __iommu_free_atomic()
1518 __free_from_pool(cpu_addr, size); in __iommu_free_atomic()
1583 void *cpu_addr, dma_addr_t dma_addr, size_t size, in __arm_iommu_mmap_attrs() argument
1588 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in __arm_iommu_mmap_attrs()
1613 struct vm_area_struct *vma, void *cpu_addr, in arm_iommu_mmap_attrs() argument
1618 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_iommu_mmap_attrs()
1622 struct vm_area_struct *vma, void *cpu_addr, in arm_coherent_iommu_mmap_attrs() argument
1625 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_coherent_iommu_mmap_attrs()
1632 void __arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr, in __arm_iommu_free_attrs() argument
1638 if (coherent_flag == COHERENT || __in_atomic_pool(cpu_addr, size)) { in __arm_iommu_free_attrs()
1639 __iommu_free_atomic(dev, cpu_addr, handle, size, coherent_flag); in __arm_iommu_free_attrs()
1643 pages = __iommu_get_pages(cpu_addr, attrs); in __arm_iommu_free_attrs()
1645 WARN(1, "trying to free invalid coherent area: %p\n", cpu_addr); in __arm_iommu_free_attrs()
1650 dma_common_free_remap(cpu_addr, size, in __arm_iommu_free_attrs()
1659 void *cpu_addr, dma_addr_t handle, unsigned long attrs) in arm_iommu_free_attrs() argument
1661 __arm_iommu_free_attrs(dev, size, cpu_addr, handle, attrs, NORMAL); in arm_iommu_free_attrs()
1665 void *cpu_addr, dma_addr_t handle, unsigned long attrs) in arm_coherent_iommu_free_attrs() argument
1667 __arm_iommu_free_attrs(dev, size, cpu_addr, handle, attrs, COHERENT); in arm_coherent_iommu_free_attrs()
1671 void *cpu_addr, dma_addr_t dma_addr, in arm_iommu_get_sgtable() argument
1675 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_get_sgtable()