hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/kernel/dma/virt.c
....@@ -4,7 +4,7 @@
44 */
55 #include <linux/export.h>
66 #include <linux/mm.h>
7
-#include <linux/dma-mapping.h>
7
+#include <linux/dma-map-ops.h>
88 #include <linux/scatterlist.h>
99
1010 static void *dma_virt_alloc(struct device *dev, size_t size,
....@@ -13,7 +13,7 @@
1313 {
1414 void *ret;
1515
16
- ret = (void *)__get_free_pages(gfp, get_order(size));
16
+ ret = (void *)__get_free_pages(gfp | __GFP_ZERO, get_order(size));
1717 if (ret)
1818 *dma_handle = (uintptr_t)ret;
1919 return ret;
....@@ -55,5 +55,7 @@
5555 .free = dma_virt_free,
5656 .map_page = dma_virt_map_page,
5757 .map_sg = dma_virt_map_sg,
58
+ .alloc_pages = dma_common_alloc_pages,
59
+ .free_pages = dma_common_free_pages,
5860 };
5961 EXPORT_SYMBOL(dma_virt_ops);