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