Lines Matching refs:netmem
70 static inline bool netmem_is_net_iov(const netmem_ref netmem) in netmem_is_net_iov() argument
72 return (__force unsigned long)netmem & NET_IOV; in netmem_is_net_iov()
78 static inline struct page *netmem_to_page(netmem_ref netmem) in netmem_to_page() argument
80 if (WARN_ON_ONCE(netmem_is_net_iov(netmem))) in netmem_to_page()
83 return (__force struct page *)netmem; in netmem_to_page()
86 static inline struct net_iov *netmem_to_net_iov(netmem_ref netmem) in netmem_to_net_iov() argument
88 if (netmem_is_net_iov(netmem)) in netmem_to_net_iov()
89 return (struct net_iov *)((__force unsigned long)netmem & in netmem_to_net_iov()
106 static inline int netmem_ref_count(netmem_ref netmem) in netmem_ref_count() argument
111 if (netmem_is_net_iov(netmem)) in netmem_ref_count()
114 return page_ref_count(netmem_to_page(netmem)); in netmem_ref_count()
117 static inline unsigned long netmem_pfn_trace(netmem_ref netmem) in netmem_pfn_trace() argument
119 if (netmem_is_net_iov(netmem)) in netmem_pfn_trace()
122 return page_to_pfn(netmem_to_page(netmem)); in netmem_pfn_trace()
125 static inline struct net_iov *__netmem_clear_lsb(netmem_ref netmem) in __netmem_clear_lsb() argument
127 return (struct net_iov *)((__force unsigned long)netmem & ~NET_IOV); in __netmem_clear_lsb()
130 static inline struct page_pool *netmem_get_pp(netmem_ref netmem) in netmem_get_pp() argument
132 return __netmem_clear_lsb(netmem)->pp; in netmem_get_pp()
135 static inline atomic_long_t *netmem_get_pp_ref_count_ref(netmem_ref netmem) in netmem_get_pp_ref_count_ref() argument
137 return &__netmem_clear_lsb(netmem)->pp_ref_count; in netmem_get_pp_ref_count_ref()
140 static inline bool netmem_is_pref_nid(netmem_ref netmem, int pref_nid) in netmem_is_pref_nid() argument
146 if (netmem_is_net_iov(netmem)) in netmem_is_pref_nid()
149 return page_to_nid(netmem_to_page(netmem)) == pref_nid; in netmem_is_pref_nid()
152 static inline netmem_ref netmem_compound_head(netmem_ref netmem) in netmem_compound_head() argument
155 if (netmem_is_net_iov(netmem)) in netmem_compound_head()
156 return netmem; in netmem_compound_head()
158 return page_to_netmem(compound_head(netmem_to_page(netmem))); in netmem_compound_head()
161 static inline void *netmem_address(netmem_ref netmem) in netmem_address() argument
163 if (netmem_is_net_iov(netmem)) in netmem_address()
166 return page_address(netmem_to_page(netmem)); in netmem_address()
169 static inline unsigned long netmem_get_dma_addr(netmem_ref netmem) in netmem_get_dma_addr() argument
171 return __netmem_clear_lsb(netmem)->dma_addr; in netmem_get_dma_addr()