Lines Matching refs:page
155 dma_addr_t dma_map_page_attrs(struct device *dev, struct page *page, in dma_map_page_attrs() argument
168 arch_dma_map_page_direct(dev, page_to_phys(page) + offset + size)) in dma_map_page_attrs()
169 addr = dma_direct_map_page(dev, page, offset, size, dir, attrs); in dma_map_page_attrs()
171 addr = iommu_dma_map_page(dev, page, offset, size, dir, attrs); in dma_map_page_attrs()
173 addr = ops->map_page(dev, page, offset, size, dir, attrs); in dma_map_page_attrs()
174 kmsan_handle_dma(page, offset, size, dir); in dma_map_page_attrs()
175 trace_dma_map_page(dev, page_to_phys(page) + offset, addr, size, dir, in dma_map_page_attrs()
177 debug_dma_map_page(dev, page, offset, size, dir, addr, attrs); in dma_map_page_attrs()
685 static struct page *__dma_alloc_pages(struct device *dev, size_t size, in __dma_alloc_pages()
707 struct page *dma_alloc_pages(struct device *dev, size_t size, in dma_alloc_pages()
710 struct page *page = __dma_alloc_pages(dev, size, dma_handle, dir, gfp); in dma_alloc_pages() local
712 if (page) { in dma_alloc_pages()
713 trace_dma_alloc_pages(dev, page_to_virt(page), *dma_handle, in dma_alloc_pages()
715 debug_dma_alloc_pages(dev, page, size, dir, *dma_handle, 0); in dma_alloc_pages()
719 return page; in dma_alloc_pages()
723 static void __dma_free_pages(struct device *dev, size_t size, struct page *page, in __dma_free_pages() argument
730 dma_direct_free_pages(dev, size, page, dma_handle, dir); in __dma_free_pages()
732 dma_common_free_pages(dev, size, page, dma_handle, dir); in __dma_free_pages()
734 ops->free_pages(dev, size, page, dma_handle, dir); in __dma_free_pages()
737 void dma_free_pages(struct device *dev, size_t size, struct page *page, in dma_free_pages() argument
740 trace_dma_free_pages(dev, page_to_virt(page), dma_handle, size, dir, 0); in dma_free_pages()
741 debug_dma_free_pages(dev, page, size, dir, dma_handle); in dma_free_pages()
742 __dma_free_pages(dev, size, page, dma_handle, dir); in dma_free_pages()
747 size_t size, struct page *page) in dma_mmap_pages() argument
754 page_to_pfn(page) + vma->vm_pgoff, in dma_mmap_pages()
763 struct page *page; in alloc_single_sgt() local
770 page = __dma_alloc_pages(dev, size, &sgt->sgl->dma_address, dir, gfp); in alloc_single_sgt()
771 if (!page) in alloc_single_sgt()
773 sg_set_page(sgt->sgl, page, PAGE_ALIGN(size), 0); in alloc_single_sgt()