Lines Matching refs:gfp
15 #include <linux/gfp.h>
579 gfp_t gfp)
595 gfp |= __GFP_NOWARN | __GFP_HIGHMEM;
598 gfp &= ~__GFP_COMP;
611 gfp_t alloc_flags = gfp;
644 * @gfp: Allocation flags
653 static void *iommu_dma_alloc_remap(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp, pgprot_t prot,
685 pages = iommu_dma_alloc_pages_ext(dev, count, alloc_sizes >> PAGE_SHIFT, gfp);
1069 static void *iommu_dma_alloc_pages(struct device *dev, size_t size, struct page **pagep, gfp_t gfp, unsigned long attrs)
1077 page = dma_alloc_contiguous(dev, alloc_size, gfp);
1079 page = alloc_pages_node(node, gfp, get_order(alloc_size));
1108 static void *iommu_dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp, unsigned long attrs)
1115 gfp |= __GFP_ZERO;
1117 if (IS_ENABLED(CONFIG_DMA_REMAP) && gfpflags_allow_blocking(gfp) && !(attrs & DMA_ATTR_FORCE_CONTIGUOUS)) {
1118 return iommu_dma_alloc_remap(dev, size, handle, gfp, dma_pgprot(dev, PAGE_KERNEL, attrs), attrs);
1121 if (IS_ENABLED(CONFIG_DMA_DIRECT_REMAP) && !gfpflags_allow_blocking(gfp) && !coherent) {
1122 page = dma_alloc_from_pool(dev, PAGE_ALIGN(size), &cpu_addr, gfp, NULL);
1124 cpu_addr = iommu_dma_alloc_pages(dev, size, &page, gfp, attrs);
1141 enum dma_data_direction dir, gfp_t gfp)
1143 if (!gfpflags_allow_blocking(gfp)) {
1146 page = dma_common_alloc_pages(dev, size, handle, dir, gfp);
1153 return iommu_dma_alloc_remap(dev, size, handle, gfp | __GFP_ZERO, PAGE_KERNEL, 0);