Lines Matching refs:dir
110 size_t size, enum dma_data_direction dir, in __arm64_noalias_map() argument
116 dir, attrs); in __arm64_noalias_map()
126 swiotlb_tbl_unmap_single(dev, phys, size, PAGE_ALIGN(size), dir, in __arm64_noalias_map()
133 enum dma_data_direction dir, unsigned long attrs) in __arm64_noalias_unmap() argument
137 swiotlb_tbl_unmap_single(dev, phys, size, PAGE_ALIGN(size), dir, attrs); in __arm64_noalias_unmap()
141 size_t size, enum dma_data_direction dir) in __arm64_noalias_sync_for_device() argument
144 swiotlb_tbl_sync_single(dev, phys, size, dir, SYNC_FOR_DEVICE); in __arm64_noalias_sync_for_device()
146 arch_sync_dma_for_device(phys, size, dir); in __arm64_noalias_sync_for_device()
150 size_t size, enum dma_data_direction dir) in __arm64_noalias_sync_for_cpu() argument
153 swiotlb_tbl_sync_single(dev, phys, size, dir, SYNC_FOR_CPU); in __arm64_noalias_sync_for_cpu()
155 arch_sync_dma_for_cpu(phys, size, dir); in __arm64_noalias_sync_for_cpu()
190 enum dma_data_direction dir, unsigned long attrs) in arm64_noalias_map_page() argument
195 if (!bounce && dir == DMA_TO_DEVICE) { in arm64_noalias_map_page()
196 arch_sync_dma_for_device(phys, size, dir); in arm64_noalias_map_page()
201 phys = __arm64_noalias_map(dev, phys, size, dir, attrs, bounce); in arm64_noalias_map_page()
209 size_t size, enum dma_data_direction dir, in arm64_noalias_unmap_page() argument
212 if (dir == DMA_TO_DEVICE) in arm64_noalias_unmap_page()
214 __arm64_noalias_unmap(dev, dma_to_phys(dev, dma_addr), size, dir, attrs); in arm64_noalias_unmap_page()
218 enum dma_data_direction dir, unsigned long attrs) in arm64_noalias_unmap_sg() argument
223 if (dir == DMA_TO_DEVICE) in arm64_noalias_unmap_sg()
227 sg->length, dir, attrs); in arm64_noalias_unmap_sg()
231 enum dma_data_direction dir, unsigned long attrs) in arm64_noalias_map_sg() argument
238 sg->length, dir, attrs); in arm64_noalias_map_sg()
247 arm64_noalias_unmap_sg(dev, sgl, i, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); in arm64_noalias_map_sg()
252 size_t size, enum dma_data_direction dir) in arm64_noalias_sync_single_for_device() argument
254 __arm64_noalias_sync_for_device(dev, dma_to_phys(dev, addr), size, dir); in arm64_noalias_sync_single_for_device()
258 size_t size, enum dma_data_direction dir) in arm64_noalias_sync_single_for_cpu() argument
260 __arm64_noalias_sync_for_cpu(dev, dma_to_phys(dev, addr), size, dir); in arm64_noalias_sync_single_for_cpu()
264 int nents, enum dma_data_direction dir) in arm64_noalias_sync_sg_for_device() argument
270 arm64_noalias_sync_single_for_device(dev, sg->dma_address, sg->length, dir); in arm64_noalias_sync_sg_for_device()
274 int nents, enum dma_data_direction dir) in arm64_noalias_sync_sg_for_cpu() argument
280 arm64_noalias_sync_single_for_cpu(dev, sg->dma_address, sg->length, dir); in arm64_noalias_sync_sg_for_cpu()
352 enum dma_data_direction dir, unsigned long attrs) in arm64_iommu_map_page() argument
357 if (dir == DMA_TO_DEVICE) in arm64_iommu_map_page()
358 return iommu_dma_ops->map_page(dev, page, offset, size, dir, attrs); in arm64_iommu_map_page()
360 phys = __arm64_noalias_map(dev, phys, size, dir, attrs, page_mapped(page)); in arm64_iommu_map_page()
366 size, dir, attrs); in arm64_iommu_map_page()
368 __arm64_noalias_unmap(dev, phys, size, dir, attrs); in arm64_iommu_map_page()
373 enum dma_data_direction dir, unsigned long attrs) in arm64_iommu_unmap_page() argument
377 if (dir == DMA_TO_DEVICE) in arm64_iommu_unmap_page()
378 return iommu_dma_ops->unmap_page(dev, addr, size, dir, attrs); in arm64_iommu_unmap_page()
381 iommu_dma_ops->unmap_page(dev, addr, size, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); in arm64_iommu_unmap_page()
382 __arm64_noalias_unmap(dev, phys, size, dir, attrs); in arm64_iommu_unmap_page()
386 enum dma_data_direction dir, unsigned long attrs) in arm64_iommu_map_sg() argument
392 if (dir == DMA_TO_DEVICE) in arm64_iommu_map_sg()
393 return iommu_dma_ops->map_sg(dev, sgl, nents, dir, attrs); in arm64_iommu_map_sg()
410 phys = __arm64_noalias_map(dev, phys, sg->length, dir, attrs, false); in arm64_iommu_map_sg()
418 ret = iommu_dma_ops->map_sg(dev, sgl, nents, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); in arm64_iommu_map_sg()
432 __arm64_noalias_unmap(dev, sg_phys(sg), sg->length, dir, attrs); in arm64_iommu_map_sg()
441 enum dma_data_direction dir, unsigned long attrs) in arm64_iommu_unmap_sg() argument
448 if (dir == DMA_TO_DEVICE) in arm64_iommu_unmap_sg()
449 return iommu_dma_ops->unmap_sg(dev, sgl, nents, dir, attrs); in arm64_iommu_unmap_sg()
457 __arm64_noalias_unmap(dev, phys, sg->length, dir, attrs); in arm64_iommu_unmap_sg()
464 iommu_dma_ops->unmap_sg(dev, sgl, nents, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); in arm64_iommu_unmap_sg()
468 size_t size, enum dma_data_direction dir) in arm64_iommu_sync_single_for_device() argument
472 __arm64_noalias_sync_for_device(dev, phys, size, dir); in arm64_iommu_sync_single_for_device()
476 size_t size, enum dma_data_direction dir) in arm64_iommu_sync_single_for_cpu() argument
480 __arm64_noalias_sync_for_cpu(dev, phys, size, dir); in arm64_iommu_sync_single_for_cpu()
484 int nents, enum dma_data_direction dir) in arm64_iommu_sync_sg_for_device() argument
494 __arm64_noalias_sync_for_device(dev, phys, sg->length, dir); in arm64_iommu_sync_sg_for_device()
504 int nents, enum dma_data_direction dir) in arm64_iommu_sync_sg_for_cpu() argument
514 __arm64_noalias_sync_for_cpu(dev, phys, sg->length, dir); in arm64_iommu_sync_sg_for_cpu()