1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifndef __NETMEM_PRIV_H
4 #define __NETMEM_PRIV_H
5 
netmem_get_pp_magic(netmem_ref netmem)6 static inline unsigned long netmem_get_pp_magic(netmem_ref netmem)
7 {
8 	return __netmem_clear_lsb(netmem)->pp_magic;
9 }
10 
netmem_or_pp_magic(netmem_ref netmem,unsigned long pp_magic)11 static inline void netmem_or_pp_magic(netmem_ref netmem, unsigned long pp_magic)
12 {
13 	__netmem_clear_lsb(netmem)->pp_magic |= pp_magic;
14 }
15 
netmem_clear_pp_magic(netmem_ref netmem)16 static inline void netmem_clear_pp_magic(netmem_ref netmem)
17 {
18 	__netmem_clear_lsb(netmem)->pp_magic = 0;
19 }
20 
netmem_set_pp(netmem_ref netmem,struct page_pool * pool)21 static inline void netmem_set_pp(netmem_ref netmem, struct page_pool *pool)
22 {
23 	__netmem_clear_lsb(netmem)->pp = pool;
24 }
25 
netmem_set_dma_addr(netmem_ref netmem,unsigned long dma_addr)26 static inline void netmem_set_dma_addr(netmem_ref netmem,
27 				       unsigned long dma_addr)
28 {
29 	__netmem_clear_lsb(netmem)->dma_addr = dma_addr;
30 }
31 #endif
32