Lines Matching refs:page

40 static struct page *__dma_alloc(struct device *dev, size_t size,  in __dma_alloc()
43 struct page *page, *free, *end; in __dma_alloc() local
56 page = alloc_pages(gfp, order); in __dma_alloc()
57 if (!page) in __dma_alloc()
59 split_page(page, order); in __dma_alloc()
70 invalidate_dcache_region(phys_to_virt(page_to_phys(page)), size); in __dma_alloc()
72 *handle = page_to_bus(page); in __dma_alloc()
73 free = page + (size >> PAGE_SHIFT); in __dma_alloc()
74 end = page + (1 << order); in __dma_alloc()
84 return page; in __dma_alloc()
88 struct page *page, dma_addr_t handle) in __dma_free() argument
90 struct page *end = page + (PAGE_ALIGN(size) >> PAGE_SHIFT); in __dma_free()
92 while (page < end) in __dma_free()
93 __free_page(page++); in __dma_free()
99 struct page *page; in dma_alloc_coherent() local
102 page = __dma_alloc(dev, size, handle, gfp); in dma_alloc_coherent()
103 if (page) in dma_alloc_coherent()
104 ret = phys_to_uncached(page_to_phys(page)); in dma_alloc_coherent()
114 struct page *page; in dma_free_coherent() local
119 page = virt_to_page(addr); in dma_free_coherent()
120 __dma_free(dev, size, page, handle); in dma_free_coherent()
127 struct page *page; in dma_alloc_writecombine() local
130 page = __dma_alloc(dev, size, handle, gfp); in dma_alloc_writecombine()
131 if (!page) in dma_alloc_writecombine()
134 phys = page_to_phys(page); in dma_alloc_writecombine()
145 struct page *page; in dma_free_writecombine() local
149 page = phys_to_page(handle); in dma_free_writecombine()
150 __dma_free(dev, size, page, handle); in dma_free_writecombine()