Lines Matching defs:cpu_addr
54 void *cpu_addr;
427 void *cpu_addr, size_t size, bool want_vaddr)
431 dma_common_free_remap(cpu_addr, size);
487 __free_from_contiguous(args->dev, args->page, args->cpu_addr,
504 __free_from_pool(args->cpu_addr, args->size);
523 dma_common_free_remap(args->cpu_addr, args->size);
605 static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr,
614 .cpu_addr = cpu_addr,
619 buf = arm_dma_buffer_find(cpu_addr);
620 if (WARN(!buf, "Freeing invalid buffer %p\n", cpu_addr))
1032 static struct page **__iommu_get_pages(void *cpu_addr, unsigned long attrs)
1034 if (__in_atomic_pool(cpu_addr, PAGE_SIZE))
1035 return __atomic_get_pages(cpu_addr);
1038 return cpu_addr;
1040 return dma_common_find_pages(cpu_addr);
1068 static void __iommu_free_atomic(struct device *dev, void *cpu_addr,
1073 __dma_free_buffer(virt_to_page(cpu_addr), size);
1075 __free_from_pool(cpu_addr, size);
1119 void *cpu_addr, dma_addr_t dma_addr, size_t size,
1122 struct page **pages = __iommu_get_pages(cpu_addr, attrs);
1146 static void arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr,
1153 if (coherent_flag == COHERENT || __in_atomic_pool(cpu_addr, size)) {
1154 __iommu_free_atomic(dev, cpu_addr, handle, size, coherent_flag);
1158 pages = __iommu_get_pages(cpu_addr, attrs);
1160 WARN(1, "trying to free invalid coherent area: %p\n", cpu_addr);
1165 dma_common_free_remap(cpu_addr, size);
1172 void *cpu_addr, dma_addr_t dma_addr,
1176 struct page **pages = __iommu_get_pages(cpu_addr, attrs);
1818 void arch_dma_free(struct device *dev, size_t size, void *cpu_addr,
1821 __arm_dma_free(dev, size, cpu_addr, dma_handle, attrs, false);