Lines Matching refs:cpu_addr
923 static void __iommu_dma_free(struct device *dev, size_t size, void *cpu_addr) in __iommu_dma_free() argument
931 dma_free_from_pool(cpu_addr, alloc_size)) in __iommu_dma_free()
934 if (IS_ENABLED(CONFIG_DMA_REMAP) && is_vmalloc_addr(cpu_addr)) { in __iommu_dma_free()
939 pages = dma_common_find_pages(cpu_addr); in __iommu_dma_free()
941 page = vmalloc_to_page(cpu_addr); in __iommu_dma_free()
942 dma_common_free_remap(cpu_addr, alloc_size); in __iommu_dma_free()
945 page = virt_to_page(cpu_addr); in __iommu_dma_free()
954 static void iommu_dma_free(struct device *dev, size_t size, void *cpu_addr, in iommu_dma_free() argument
958 __iommu_dma_free(dev, size, cpu_addr); in iommu_dma_free()
968 void *cpu_addr; in iommu_dma_alloc_pages() local
979 cpu_addr = dma_common_contiguous_remap(page, alloc_size, in iommu_dma_alloc_pages()
981 if (!cpu_addr) in iommu_dma_alloc_pages()
987 cpu_addr = page_address(page); in iommu_dma_alloc_pages()
991 memset(cpu_addr, 0, alloc_size); in iommu_dma_alloc_pages()
992 return cpu_addr; in iommu_dma_alloc_pages()
1004 void *cpu_addr; in iommu_dma_alloc() local
1014 cpu_addr = dma_alloc_from_pool(PAGE_ALIGN(size), &page, gfp); in iommu_dma_alloc()
1016 cpu_addr = iommu_dma_alloc_pages(dev, size, &page, gfp, attrs); in iommu_dma_alloc()
1017 if (!cpu_addr) in iommu_dma_alloc()
1022 __iommu_dma_free(dev, size, cpu_addr); in iommu_dma_alloc()
1026 return cpu_addr; in iommu_dma_alloc()
1030 void *cpu_addr, dma_addr_t dma_addr, size_t size, in iommu_dma_mmap() argument
1039 if (dma_mmap_from_dev_coherent(dev, vma, cpu_addr, size, &ret)) in iommu_dma_mmap()
1045 if (IS_ENABLED(CONFIG_DMA_REMAP) && is_vmalloc_addr(cpu_addr)) { in iommu_dma_mmap()
1046 struct page **pages = dma_common_find_pages(cpu_addr); in iommu_dma_mmap()
1050 pfn = vmalloc_to_pfn(cpu_addr); in iommu_dma_mmap()
1052 pfn = page_to_pfn(virt_to_page(cpu_addr)); in iommu_dma_mmap()
1061 void *cpu_addr, dma_addr_t dma_addr, size_t size, in iommu_dma_get_sgtable() argument
1067 if (IS_ENABLED(CONFIG_DMA_REMAP) && is_vmalloc_addr(cpu_addr)) { in iommu_dma_get_sgtable()
1068 struct page **pages = dma_common_find_pages(cpu_addr); in iommu_dma_get_sgtable()
1076 page = vmalloc_to_page(cpu_addr); in iommu_dma_get_sgtable()
1078 page = virt_to_page(cpu_addr); in iommu_dma_get_sgtable()