Lines Matching refs:netmem

168 static inline bool netmem_is_net_iov(const netmem_ref netmem)  in netmem_is_net_iov()  argument
170 return (__force unsigned long)netmem & NET_IOV; in netmem_is_net_iov()
184 static inline struct page *__netmem_to_page(netmem_ref netmem) in __netmem_to_page() argument
186 return (__force struct page *)netmem; in __netmem_to_page()
189 static inline struct page *netmem_to_page(netmem_ref netmem) in netmem_to_page() argument
191 if (WARN_ON_ONCE(netmem_is_net_iov(netmem))) in netmem_to_page()
194 return __netmem_to_page(netmem); in netmem_to_page()
197 static inline struct net_iov *netmem_to_net_iov(netmem_ref netmem) in netmem_to_net_iov() argument
199 if (netmem_is_net_iov(netmem)) in netmem_to_net_iov()
200 return (struct net_iov *)((__force unsigned long)netmem & in netmem_to_net_iov()
227 static inline int netmem_ref_count(netmem_ref netmem) in netmem_ref_count() argument
232 if (netmem_is_net_iov(netmem)) in netmem_ref_count()
235 return page_ref_count(netmem_to_page(netmem)); in netmem_ref_count()
238 static inline unsigned long netmem_pfn_trace(netmem_ref netmem) in netmem_pfn_trace() argument
240 if (netmem_is_net_iov(netmem)) in netmem_pfn_trace()
243 return page_to_pfn(netmem_to_page(netmem)); in netmem_pfn_trace()
276 static inline struct netmem_desc *__netmem_to_nmdesc(netmem_ref netmem) in __netmem_to_nmdesc() argument
278 return (__force struct netmem_desc *)netmem; in __netmem_to_nmdesc()
291 static inline struct netmem_desc *netmem_to_nmdesc(netmem_ref netmem) in netmem_to_nmdesc() argument
293 void *p = (void *)((__force unsigned long)netmem & ~NET_IOV); in netmem_to_nmdesc()
295 if (netmem_is_net_iov(netmem)) in netmem_to_nmdesc()
312 static inline struct page_pool *__netmem_get_pp(netmem_ref netmem) in __netmem_get_pp() argument
314 return __netmem_to_nmdesc(netmem)->pp; in __netmem_get_pp()
317 static inline struct page_pool *netmem_get_pp(netmem_ref netmem) in netmem_get_pp() argument
319 return netmem_to_nmdesc(netmem)->pp; in netmem_get_pp()
322 static inline atomic_long_t *netmem_get_pp_ref_count_ref(netmem_ref netmem) in netmem_get_pp_ref_count_ref() argument
324 return &netmem_to_nmdesc(netmem)->pp_ref_count; in netmem_get_pp_ref_count_ref()
327 static inline bool netmem_is_pref_nid(netmem_ref netmem, int pref_nid) in netmem_is_pref_nid() argument
333 if (netmem_is_net_iov(netmem)) in netmem_is_pref_nid()
336 return page_to_nid(netmem_to_page(netmem)) == pref_nid; in netmem_is_pref_nid()
339 static inline netmem_ref netmem_compound_head(netmem_ref netmem) in netmem_compound_head() argument
342 if (netmem_is_net_iov(netmem)) in netmem_compound_head()
343 return netmem; in netmem_compound_head()
345 return page_to_netmem(compound_head(netmem_to_page(netmem))); in netmem_compound_head()
359 static inline void *__netmem_address(netmem_ref netmem) in __netmem_address() argument
361 return page_address(__netmem_to_page(netmem)); in __netmem_address()
364 static inline void *netmem_address(netmem_ref netmem) in netmem_address() argument
366 if (netmem_is_net_iov(netmem)) in netmem_address()
369 return __netmem_address(netmem); in netmem_address()
379 static inline bool netmem_is_pfmemalloc(netmem_ref netmem) in netmem_is_pfmemalloc() argument
381 if (netmem_is_net_iov(netmem)) in netmem_is_pfmemalloc()
384 return page_is_pfmemalloc(netmem_to_page(netmem)); in netmem_is_pfmemalloc()
387 static inline unsigned long netmem_get_dma_addr(netmem_ref netmem) in netmem_get_dma_addr() argument
389 return netmem_to_nmdesc(netmem)->dma_addr; in netmem_get_dma_addr()
404 void __get_netmem(netmem_ref netmem);
405 void __put_netmem(netmem_ref netmem);
407 static __always_inline void get_netmem(netmem_ref netmem) in get_netmem() argument
409 if (netmem_is_net_iov(netmem)) in get_netmem()
410 __get_netmem(netmem); in get_netmem()
412 get_page(netmem_to_page(netmem)); in get_netmem()
415 static __always_inline void put_netmem(netmem_ref netmem) in put_netmem() argument
417 if (netmem_is_net_iov(netmem)) in put_netmem()
418 __put_netmem(netmem); in put_netmem()
420 put_page(netmem_to_page(netmem)); in put_netmem()