Lines Matching refs:attrs
131 unsigned long attrs) in arm_dma_map_page() argument
133 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) in arm_dma_map_page()
140 unsigned long attrs) in arm_coherent_dma_map_page() argument
160 size_t size, enum dma_data_direction dir, unsigned long attrs) in arm_dma_unmap_page() argument
162 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) in arm_dma_unmap_page()
207 dma_addr_t *handle, gfp_t gfp, unsigned long attrs);
209 dma_addr_t handle, unsigned long attrs);
212 unsigned long attrs);
634 static inline pgprot_t __get_dma_pgprot(unsigned long attrs, pgprot_t prot) in __get_dma_pgprot() argument
636 prot = (attrs & DMA_ATTR_WRITE_COMBINE) ? in __get_dma_pgprot()
731 unsigned long attrs, const void *caller) in __dma_alloc() argument
744 .want_vaddr = ((attrs & DMA_ATTR_NO_KERNEL_MAPPING) == 0), in __dma_alloc()
814 gfp_t gfp, unsigned long attrs) in arm_dma_alloc() argument
816 pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL); in arm_dma_alloc()
819 attrs, __builtin_return_address(0)); in arm_dma_alloc()
823 dma_addr_t *handle, gfp_t gfp, unsigned long attrs) in arm_coherent_dma_alloc() argument
826 attrs, __builtin_return_address(0)); in arm_coherent_dma_alloc()
831 unsigned long attrs) in __arm_dma_mmap() argument
857 unsigned long attrs) in arm_coherent_dma_mmap() argument
859 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_coherent_dma_mmap()
864 unsigned long attrs) in arm_dma_mmap() argument
866 vma->vm_page_prot = __get_dma_pgprot(attrs, vma->vm_page_prot); in arm_dma_mmap()
867 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_dma_mmap()
874 dma_addr_t handle, unsigned long attrs, in __arm_dma_free() argument
884 .want_vaddr = ((attrs & DMA_ATTR_NO_KERNEL_MAPPING) == 0), in __arm_dma_free()
896 dma_addr_t handle, unsigned long attrs) in arm_dma_free() argument
898 __arm_dma_free(dev, size, cpu_addr, handle, attrs, false); in arm_dma_free()
902 dma_addr_t handle, unsigned long attrs) in arm_coherent_dma_free() argument
904 __arm_dma_free(dev, size, cpu_addr, handle, attrs, true); in arm_coherent_dma_free()
920 unsigned long attrs) in arm_dma_get_sgtable() argument
1060 enum dma_data_direction dir, unsigned long attrs) in arm_dma_map_sg() argument
1071 s->length, dir, attrs); in arm_dma_map_sg()
1079 ops->unmap_page(dev, sg_dma_address(s), sg_dma_len(s), dir, attrs); in arm_dma_map_sg()
1094 enum dma_data_direction dir, unsigned long attrs) in arm_dma_unmap_sg() argument
1102 ops->unmap_page(dev, sg_dma_address(s), sg_dma_len(s), dir, attrs); in arm_dma_unmap_sg()
1161 static int __dma_info_to_prot(enum dma_data_direction dir, unsigned long attrs) in __dma_info_to_prot() argument
1165 if (attrs & DMA_ATTR_PRIVILEGED) in __dma_info_to_prot()
1281 gfp_t gfp, unsigned long attrs, in __iommu_alloc_buffer() argument
1297 if (attrs & DMA_ATTR_FORCE_CONTIGUOUS) in __iommu_alloc_buffer()
1316 if (attrs & DMA_ATTR_ALLOC_SINGLE_PAGES) in __iommu_alloc_buffer()
1372 size_t size, unsigned long attrs) in __iommu_free_buffer() argument
1377 if (attrs & DMA_ATTR_FORCE_CONTIGUOUS) { in __iommu_free_buffer()
1405 unsigned long attrs) in __iommu_create_mapping() argument
1430 __dma_info_to_prot(DMA_BIDIRECTIONAL, attrs)); in __iommu_create_mapping()
1470 static struct page **__iommu_get_pages(void *cpu_addr, unsigned long attrs) in __iommu_get_pages() argument
1477 if (attrs & DMA_ATTR_NO_KERNEL_MAPPING) in __iommu_get_pages()
1488 unsigned long attrs) in __iommu_alloc_simple() argument
1500 *handle = __iommu_create_mapping(dev, &page, size, attrs); in __iommu_alloc_simple()
1522 dma_addr_t *handle, gfp_t gfp, unsigned long attrs, in __arm_iommu_alloc_attrs() argument
1525 pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL); in __arm_iommu_alloc_attrs()
1534 coherent_flag, attrs); in __arm_iommu_alloc_attrs()
1545 pages = __iommu_alloc_buffer(dev, size, gfp, attrs, coherent_flag); in __arm_iommu_alloc_attrs()
1549 *handle = __iommu_create_mapping(dev, pages, size, attrs); in __arm_iommu_alloc_attrs()
1553 if (attrs & DMA_ATTR_NO_KERNEL_MAPPING) in __arm_iommu_alloc_attrs()
1566 __iommu_free_buffer(dev, pages, size, attrs); in __arm_iommu_alloc_attrs()
1571 dma_addr_t *handle, gfp_t gfp, unsigned long attrs) in arm_iommu_alloc_attrs() argument
1573 return __arm_iommu_alloc_attrs(dev, size, handle, gfp, attrs, NORMAL); in arm_iommu_alloc_attrs()
1577 dma_addr_t *handle, gfp_t gfp, unsigned long attrs) in arm_coherent_iommu_alloc_attrs() argument
1579 return __arm_iommu_alloc_attrs(dev, size, handle, gfp, attrs, COHERENT); in arm_coherent_iommu_alloc_attrs()
1584 unsigned long attrs) in __arm_iommu_mmap_attrs() argument
1588 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in __arm_iommu_mmap_attrs()
1614 dma_addr_t dma_addr, size_t size, unsigned long attrs) in arm_iommu_mmap_attrs() argument
1616 vma->vm_page_prot = __get_dma_pgprot(attrs, vma->vm_page_prot); in arm_iommu_mmap_attrs()
1618 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs); in arm_iommu_mmap_attrs()
1623 dma_addr_t dma_addr, size_t size, unsigned long attrs) 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()
1633 dma_addr_t handle, unsigned long attrs, int coherent_flag) in __arm_iommu_free_attrs() argument
1643 pages = __iommu_get_pages(cpu_addr, attrs); in __arm_iommu_free_attrs()
1649 if ((attrs & DMA_ATTR_NO_KERNEL_MAPPING) == 0) { in __arm_iommu_free_attrs()
1655 __iommu_free_buffer(dev, pages, size, attrs); 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()
1672 size_t size, unsigned long attrs) in arm_iommu_get_sgtable() argument
1675 struct page **pages = __iommu_get_pages(cpu_addr, attrs); in arm_iommu_get_sgtable()
1689 enum dma_data_direction dir, unsigned long attrs, in __map_sg_chunk() argument
1710 if (!is_coherent && (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) in __map_sg_chunk()
1713 prot = __dma_info_to_prot(dir, attrs); in __map_sg_chunk()
1731 enum dma_data_direction dir, unsigned long attrs, in __iommu_map_sg() argument
1748 dir, attrs, is_coherent) < 0) in __iommu_map_sg()
1761 if (__map_sg_chunk(dev, start, size, &dma->dma_address, dir, attrs, in __iommu_map_sg()
1789 int nents, enum dma_data_direction dir, unsigned long attrs) in arm_coherent_iommu_map_sg() argument
1791 return __iommu_map_sg(dev, sg, nents, dir, attrs, true); in arm_coherent_iommu_map_sg()
1807 int nents, enum dma_data_direction dir, unsigned long attrs) in arm_iommu_map_sg() argument
1809 return __iommu_map_sg(dev, sg, nents, dir, attrs, false); in arm_iommu_map_sg()
1814 unsigned long attrs, bool is_coherent) in __iommu_unmap_sg() argument
1823 if (!is_coherent && (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) in __iommu_unmap_sg()
1841 unsigned long attrs) in arm_coherent_iommu_unmap_sg() argument
1843 __iommu_unmap_sg(dev, sg, nents, dir, attrs, true); in arm_coherent_iommu_unmap_sg()
1858 unsigned long attrs) in arm_iommu_unmap_sg() argument
1860 __iommu_unmap_sg(dev, sg, nents, dir, attrs, false); in arm_iommu_unmap_sg()
1911 unsigned long attrs) in arm_coherent_iommu_map_page() argument
1921 prot = __dma_info_to_prot(dir, attrs); in arm_coherent_iommu_map_page()
1945 unsigned long attrs) in arm_iommu_map_page() argument
1947 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) in arm_iommu_map_page()
1950 return arm_coherent_iommu_map_page(dev, page, offset, size, dir, attrs); in arm_iommu_map_page()
1963 size_t size, enum dma_data_direction dir, unsigned long attrs) in arm_coherent_iommu_unmap_page() argument
1987 size_t size, enum dma_data_direction dir, unsigned long attrs) in arm_iommu_unmap_page() argument
1998 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) in arm_iommu_unmap_page()
2014 enum dma_data_direction dir, unsigned long attrs) in arm_iommu_map_resource() argument
2027 prot = __dma_info_to_prot(dir, attrs) | IOMMU_MMIO; in arm_iommu_map_resource()
2048 unsigned long attrs) in arm_iommu_unmap_resource() argument