Lines Matching defs:attrs
127 unsigned long attrs)
129 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
136 unsigned long attrs)
156 size_t size, enum dma_data_direction dir, unsigned long attrs)
158 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
218 dma_addr_t *handle, gfp_t gfp, unsigned long attrs);
220 dma_addr_t handle, unsigned long attrs);
223 unsigned long attrs);
567 static inline pgprot_t __get_dma_pgprot(unsigned long attrs, pgprot_t prot)
569 prot = (attrs & DMA_ATTR_WRITE_COMBINE) ?
664 unsigned long attrs, const void *caller)
677 .want_vaddr = ((attrs & DMA_ATTR_NO_KERNEL_MAPPING) == 0),
744 gfp_t gfp, unsigned long attrs)
746 pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL);
749 attrs, __builtin_return_address(0));
753 dma_addr_t *handle, gfp_t gfp, unsigned long attrs)
756 attrs, __builtin_return_address(0));
761 unsigned long attrs)
787 unsigned long attrs)
789 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs);
794 unsigned long attrs)
796 vma->vm_page_prot = __get_dma_pgprot(attrs, vma->vm_page_prot);
797 return __arm_dma_mmap(dev, vma, cpu_addr, dma_addr, size, attrs);
804 dma_addr_t handle, unsigned long attrs,
814 .want_vaddr = ((attrs & DMA_ATTR_NO_KERNEL_MAPPING) == 0),
826 dma_addr_t handle, unsigned long attrs)
828 __arm_dma_free(dev, size, cpu_addr, handle, attrs, false);
832 dma_addr_t handle, unsigned long attrs)
834 __arm_dma_free(dev, size, cpu_addr, handle, attrs, true);
839 unsigned long attrs)
979 enum dma_data_direction dir, unsigned long attrs)
990 s->length, dir, attrs);
998 ops->unmap_page(dev, sg_dma_address(s), sg_dma_len(s), dir, attrs);
1013 enum dma_data_direction dir, unsigned long attrs)
1021 ops->unmap_page(dev, sg_dma_address(s), sg_dma_len(s), dir, attrs);
1078 static int __dma_info_to_prot(enum dma_data_direction dir, unsigned long attrs)
1082 if (attrs & DMA_ATTR_PRIVILEGED)
1198 gfp_t gfp, unsigned long attrs,
1214 if (attrs & DMA_ATTR_FORCE_CONTIGUOUS)
1233 if (attrs & DMA_ATTR_ALLOC_SINGLE_PAGES)
1289 size_t size, unsigned long attrs)
1294 if (attrs & DMA_ATTR_FORCE_CONTIGUOUS) {
1311 unsigned long attrs)
1336 __dma_info_to_prot(DMA_BIDIRECTIONAL, attrs));
1376 static struct page **__iommu_get_pages(void *cpu_addr, unsigned long attrs)
1381 if (attrs & DMA_ATTR_NO_KERNEL_MAPPING)
1389 unsigned long attrs)
1401 *handle = __iommu_create_mapping(dev, &page, size, attrs);
1423 dma_addr_t *handle, gfp_t gfp, unsigned long attrs,
1426 pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL);
1435 coherent_flag, attrs);
1446 pages = __iommu_alloc_buffer(dev, size, gfp, attrs, coherent_flag);
1450 *handle = __iommu_create_mapping(dev, pages, size, attrs);
1454 if (attrs & DMA_ATTR_NO_KERNEL_MAPPING)
1467 __iommu_free_buffer(dev, pages, size, attrs);
1472 dma_addr_t *handle, gfp_t gfp, unsigned long attrs)
1474 return __arm_iommu_alloc_attrs(dev, size, handle, gfp, attrs, NORMAL);
1478 dma_addr_t *handle, gfp_t gfp, unsigned long attrs)
1480 return __arm_iommu_alloc_attrs(dev, size, handle, gfp, attrs, COHERENT);
1485 unsigned long attrs)
1487 struct page **pages = __iommu_get_pages(cpu_addr, attrs);
1505 dma_addr_t dma_addr, size_t size, unsigned long attrs)
1507 vma->vm_page_prot = __get_dma_pgprot(attrs, vma->vm_page_prot);
1509 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs);
1514 dma_addr_t dma_addr, size_t size, unsigned long attrs)
1516 return __arm_iommu_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, attrs);
1524 dma_addr_t handle, unsigned long attrs, int coherent_flag)
1534 pages = __iommu_get_pages(cpu_addr, attrs);
1540 if ((attrs & DMA_ATTR_NO_KERNEL_MAPPING) == 0)
1544 __iommu_free_buffer(dev, pages, size, attrs);
1549 unsigned long attrs)
1551 __arm_iommu_free_attrs(dev, size, cpu_addr, handle, attrs, NORMAL);
1555 void *cpu_addr, dma_addr_t handle, unsigned long attrs)
1557 __arm_iommu_free_attrs(dev, size, cpu_addr, handle, attrs, COHERENT);
1562 size_t size, unsigned long attrs)
1565 struct page **pages = __iommu_get_pages(cpu_addr, attrs);
1579 enum dma_data_direction dir, unsigned long attrs,
1600 if (!is_coherent && (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
1603 prot = __dma_info_to_prot(dir, attrs);
1621 enum dma_data_direction dir, unsigned long attrs,
1638 dir, attrs, is_coherent) < 0)
1651 if (__map_sg_chunk(dev, start, size, &dma->dma_address, dir, attrs,
1679 int nents, enum dma_data_direction dir, unsigned long attrs)
1681 return __iommu_map_sg(dev, sg, nents, dir, attrs, true);
1697 int nents, enum dma_data_direction dir, unsigned long attrs)
1699 return __iommu_map_sg(dev, sg, nents, dir, attrs, false);
1704 unsigned long attrs, bool is_coherent)
1713 if (!is_coherent && (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
1731 unsigned long attrs)
1733 __iommu_unmap_sg(dev, sg, nents, dir, attrs, true);
1749 unsigned long attrs)
1751 __iommu_unmap_sg(dev, sg, nents, dir, attrs, false);
1804 unsigned long attrs)
1814 prot = __dma_info_to_prot(dir, attrs);
1838 unsigned long attrs)
1840 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
1843 return arm_coherent_iommu_map_page(dev, page, offset, size, dir, attrs);
1856 size_t size, enum dma_data_direction dir, unsigned long attrs)
1880 size_t size, enum dma_data_direction dir, unsigned long attrs)
1891 if ((attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
1907 enum dma_data_direction dir, unsigned long attrs)
1920 prot = __dma_info_to_prot(dir, attrs) | IOMMU_MMIO;
1941 unsigned long attrs)
2315 gfp_t gfp, unsigned long attrs)
2318 __get_dma_pgprot(attrs, PAGE_KERNEL), false,
2319 attrs, __builtin_return_address(0));
2323 dma_addr_t dma_handle, unsigned long attrs)
2325 __arm_dma_free(dev, size, cpu_addr, dma_handle, attrs, false);