xref: /freebsd/sys/compat/linuxkpi/common/include/net/page_pool/types.h (revision 7c31cdfa408a4ebce7a3e10d29056a15c28bc092)
1 /*-
2  * Copyright (c) 2023-2025 Bjoern A. Zeeb
3  *
4  * SPDX-License-Identifier: BSD-2-Clause
5  */
6 
7 #ifndef	_LINUXKPI_NET_PAGE_POOL_TYPES_H
8 #define	_LINUXKPI_NET_PAGE_POOL_TYPES_H
9 
10 #include <linux/types.h>
11 #include <linux/dma-mapping.h>
12 #include <net/netmem.h>
13 
14 struct device;
15 struct napi_struct;
16 
17 struct page_pool_params {
18 	struct device			*dev;
19 	uint32_t			flags;
20 	uint32_t			order;
21 	uint32_t			pool_size;
22 	uint32_t			max_len;
23 	uint32_t			offset;
24 	int				nid;		/* NUMA */
25 	enum dma_data_direction		dma_dir;
26 	struct napi_struct		*napi;
27 };
28 
29 struct page_pool {
30 };
31 
32 #define	PP_FLAG_DMA_MAP		BIT(0)
33 #define	PP_FLAG_DMA_SYNC_DEV	BIT(1)
34 #define	PP_FLAG_PAGE_FRAG	BIT(2)
35 
36 #endif	/* _LINUXKPI_NET_PAGE_POOL_TYPES_H */
37