Lines Matching refs:netmem

89 static inline bool netmem_is_net_iov(const netmem_ref netmem)  in netmem_is_net_iov()  argument
91 return (__force unsigned long)netmem & NET_IOV; in netmem_is_net_iov()
105 static inline struct page *__netmem_to_page(netmem_ref netmem) in __netmem_to_page() argument
107 return (__force struct page *)netmem; in __netmem_to_page()
113 static inline struct page *netmem_to_page(netmem_ref netmem) in netmem_to_page() argument
115 if (WARN_ON_ONCE(netmem_is_net_iov(netmem))) in netmem_to_page()
118 return __netmem_to_page(netmem); in netmem_to_page()
121 static inline struct net_iov *netmem_to_net_iov(netmem_ref netmem) in netmem_to_net_iov() argument
123 if (netmem_is_net_iov(netmem)) in netmem_to_net_iov()
124 return (struct net_iov *)((__force unsigned long)netmem & in netmem_to_net_iov()
152 static inline int netmem_ref_count(netmem_ref netmem) in netmem_ref_count() argument
157 if (netmem_is_net_iov(netmem)) in netmem_ref_count()
160 return page_ref_count(netmem_to_page(netmem)); in netmem_ref_count()
163 static inline unsigned long netmem_pfn_trace(netmem_ref netmem) in netmem_pfn_trace() argument
165 if (netmem_is_net_iov(netmem)) in netmem_pfn_trace()
168 return page_to_pfn(netmem_to_page(netmem)); in netmem_pfn_trace()
171 static inline struct net_iov *__netmem_clear_lsb(netmem_ref netmem) in __netmem_clear_lsb() argument
173 return (struct net_iov *)((__force unsigned long)netmem & ~NET_IOV); in __netmem_clear_lsb()
187 static inline struct page_pool *__netmem_get_pp(netmem_ref netmem) in __netmem_get_pp() argument
189 return __netmem_to_page(netmem)->pp; in __netmem_get_pp()
192 static inline struct page_pool *netmem_get_pp(netmem_ref netmem) in netmem_get_pp() argument
194 return __netmem_clear_lsb(netmem)->pp; in netmem_get_pp()
197 static inline atomic_long_t *netmem_get_pp_ref_count_ref(netmem_ref netmem) in netmem_get_pp_ref_count_ref() argument
199 return &__netmem_clear_lsb(netmem)->pp_ref_count; in netmem_get_pp_ref_count_ref()
202 static inline bool netmem_is_pref_nid(netmem_ref netmem, int pref_nid) in netmem_is_pref_nid() argument
208 if (netmem_is_net_iov(netmem)) in netmem_is_pref_nid()
211 return page_to_nid(netmem_to_page(netmem)) == pref_nid; in netmem_is_pref_nid()
214 static inline netmem_ref netmem_compound_head(netmem_ref netmem) in netmem_compound_head() argument
217 if (netmem_is_net_iov(netmem)) in netmem_compound_head()
218 return netmem; in netmem_compound_head()
220 return page_to_netmem(compound_head(netmem_to_page(netmem))); in netmem_compound_head()
234 static inline void *__netmem_address(netmem_ref netmem) in __netmem_address() argument
236 return page_address(__netmem_to_page(netmem)); in __netmem_address()
239 static inline void *netmem_address(netmem_ref netmem) in netmem_address() argument
241 if (netmem_is_net_iov(netmem)) in netmem_address()
244 return __netmem_address(netmem); in netmem_address()
254 static inline bool netmem_is_pfmemalloc(netmem_ref netmem) in netmem_is_pfmemalloc() argument
256 if (netmem_is_net_iov(netmem)) in netmem_is_pfmemalloc()
259 return page_is_pfmemalloc(netmem_to_page(netmem)); in netmem_is_pfmemalloc()
262 static inline unsigned long netmem_get_dma_addr(netmem_ref netmem) in netmem_get_dma_addr() argument
264 return __netmem_clear_lsb(netmem)->dma_addr; in netmem_get_dma_addr()