Lines Matching refs:cpu_addr

947 static void __iommu_dma_free(struct device *dev, size_t size, void *cpu_addr)  in __iommu_dma_free()  argument
955 dma_free_from_pool(dev, cpu_addr, alloc_size)) in __iommu_dma_free()
958 if (IS_ENABLED(CONFIG_DMA_REMAP) && is_vmalloc_addr(cpu_addr)) { in __iommu_dma_free()
963 pages = dma_common_find_pages(cpu_addr); in __iommu_dma_free()
965 page = vmalloc_to_page(cpu_addr); in __iommu_dma_free()
966 dma_common_free_remap(cpu_addr, alloc_size); in __iommu_dma_free()
969 page = virt_to_page(cpu_addr); in __iommu_dma_free()
978 static void iommu_dma_free(struct device *dev, size_t size, void *cpu_addr, in iommu_dma_free() argument
982 __iommu_dma_free(dev, size, cpu_addr); in iommu_dma_free()
992 void *cpu_addr; in iommu_dma_alloc_pages() local
1003 cpu_addr = dma_common_contiguous_remap(page, alloc_size, in iommu_dma_alloc_pages()
1005 if (!cpu_addr) in iommu_dma_alloc_pages()
1011 cpu_addr = page_address(page); in iommu_dma_alloc_pages()
1015 memset(cpu_addr, 0, alloc_size); in iommu_dma_alloc_pages()
1016 return cpu_addr; in iommu_dma_alloc_pages()
1028 void *cpu_addr; in iommu_dma_alloc() local
1040 page = dma_alloc_from_pool(dev, PAGE_ALIGN(size), &cpu_addr, in iommu_dma_alloc()
1043 cpu_addr = iommu_dma_alloc_pages(dev, size, &page, gfp, attrs); in iommu_dma_alloc()
1044 if (!cpu_addr) in iommu_dma_alloc()
1050 __iommu_dma_free(dev, size, cpu_addr); in iommu_dma_alloc()
1054 return cpu_addr; in iommu_dma_alloc()
1075 void *cpu_addr, dma_addr_t handle, enum dma_data_direction dir) in iommu_dma_free_noncoherent() argument
1078 __iommu_dma_free(dev, size, cpu_addr); in iommu_dma_free_noncoherent()
1086 void *cpu_addr, dma_addr_t dma_addr, size_t size, in iommu_dma_mmap() argument
1095 if (dma_mmap_from_dev_coherent(dev, vma, cpu_addr, size, &ret)) in iommu_dma_mmap()
1101 if (IS_ENABLED(CONFIG_DMA_REMAP) && is_vmalloc_addr(cpu_addr)) { in iommu_dma_mmap()
1102 struct page **pages = dma_common_find_pages(cpu_addr); in iommu_dma_mmap()
1106 pfn = vmalloc_to_pfn(cpu_addr); in iommu_dma_mmap()
1108 pfn = page_to_pfn(virt_to_page(cpu_addr)); in iommu_dma_mmap()
1117 void *cpu_addr, dma_addr_t dma_addr, size_t size, in iommu_dma_get_sgtable() argument
1123 if (IS_ENABLED(CONFIG_DMA_REMAP) && is_vmalloc_addr(cpu_addr)) { in iommu_dma_get_sgtable()
1124 struct page **pages = dma_common_find_pages(cpu_addr); in iommu_dma_get_sgtable()
1132 page = vmalloc_to_page(cpu_addr); in iommu_dma_get_sgtable()
1134 page = virt_to_page(cpu_addr); in iommu_dma_get_sgtable()