Lines Matching full:pool
27 void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries);
28 bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc);
29 u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max);
30 void xsk_tx_release(struct xsk_buff_pool *pool);
33 void xsk_set_rx_need_wakeup(struct xsk_buff_pool *pool);
34 void xsk_set_tx_need_wakeup(struct xsk_buff_pool *pool);
35 void xsk_clear_rx_need_wakeup(struct xsk_buff_pool *pool);
36 void xsk_clear_tx_need_wakeup(struct xsk_buff_pool *pool);
37 bool xsk_uses_need_wakeup(struct xsk_buff_pool *pool);
39 static inline u32 xsk_pool_get_headroom(struct xsk_buff_pool *pool) in xsk_pool_get_headroom() argument
41 return XDP_PACKET_HEADROOM + pool->headroom; in xsk_pool_get_headroom()
49 static inline u32 xsk_pool_get_chunk_size(struct xsk_buff_pool *pool) in xsk_pool_get_chunk_size() argument
51 return pool->chunk_size; in xsk_pool_get_chunk_size()
54 static inline u32 __xsk_pool_get_rx_frame_size(struct xsk_buff_pool *pool) in __xsk_pool_get_rx_frame_size() argument
56 return xsk_pool_get_chunk_size(pool) - xsk_pool_get_headroom(pool); in __xsk_pool_get_rx_frame_size()
59 static inline u32 xsk_pool_get_rx_frame_size(struct xsk_buff_pool *pool) in xsk_pool_get_rx_frame_size() argument
61 u32 frame_size = __xsk_pool_get_rx_frame_size(pool); in xsk_pool_get_rx_frame_size()
62 struct xdp_umem *umem = pool->umem; in xsk_pool_get_rx_frame_size()
69 mbuf = pool->dev && (umem->flags & XDP_UMEM_SG_FLAG); in xsk_pool_get_rx_frame_size()
75 static inline u32 xsk_pool_get_rx_frag_step(struct xsk_buff_pool *pool) in xsk_pool_get_rx_frag_step() argument
77 return pool->unaligned ? 0 : xsk_pool_get_chunk_size(pool); in xsk_pool_get_rx_frag_step()
80 static inline void xsk_pool_set_rxq_info(struct xsk_buff_pool *pool, in xsk_pool_set_rxq_info() argument
83 xp_set_rxq_info(pool, rxq); in xsk_pool_set_rxq_info()
86 static inline void xsk_pool_fill_cb(struct xsk_buff_pool *pool, in xsk_pool_fill_cb() argument
89 xp_fill_cb(pool, desc); in xsk_pool_fill_cb()
92 static inline void xsk_pool_dma_unmap(struct xsk_buff_pool *pool, in xsk_pool_dma_unmap() argument
95 xp_dma_unmap(pool, attrs); in xsk_pool_dma_unmap()
98 static inline int xsk_pool_dma_map(struct xsk_buff_pool *pool, in xsk_pool_dma_map() argument
101 struct xdp_umem *umem = pool->umem; in xsk_pool_dma_map()
103 return xp_dma_map(pool, dev, attrs, umem->pgs, umem->npgs); in xsk_pool_dma_map()
120 static inline struct xdp_buff *xsk_buff_alloc(struct xsk_buff_pool *pool) in xsk_buff_alloc() argument
122 return xp_alloc(pool); in xsk_buff_alloc()
131 static inline u32 xsk_buff_alloc_batch(struct xsk_buff_pool *pool, struct xdp_buff **xdp, u32 max) in xsk_buff_alloc_batch() argument
133 return xp_alloc_batch(pool, xdp, max); in xsk_buff_alloc_batch()
136 static inline bool xsk_buff_can_alloc(struct xsk_buff_pool *pool, u32 count) in xsk_buff_can_alloc() argument
138 return xp_can_alloc(pool, count); in xsk_buff_can_alloc()
144 struct list_head *xskb_list = &xskb->pool->xskb_list; in xsk_buff_free()
172 list_add_tail(&frag->list_node, &frag->pool->xskb_list); in xsk_buff_add_frag()
183 frag = list_first_entry_or_null(&xskb->pool->xskb_list, in xsk_buff_get_frag()
205 frag = list_first_entry(&xskb->pool->xskb_list, struct xdp_buff_xsk, in xsk_buff_get_head()
215 frag = list_last_entry(&xskb->pool->xskb_list, struct xdp_buff_xsk, in xsk_buff_get_tail()
228 static inline dma_addr_t xsk_buff_raw_get_dma(struct xsk_buff_pool *pool, in xsk_buff_raw_get_dma() argument
231 return xp_raw_get_dma(pool, addr); in xsk_buff_raw_get_dma()
234 static inline void *xsk_buff_raw_get_data(struct xsk_buff_pool *pool, u64 addr) in xsk_buff_raw_get_data() argument
236 return xp_raw_get_data(pool, addr); in xsk_buff_raw_get_data()
241 * @pool: XSk buff pool desc address belongs to
251 xsk_buff_raw_get_ctx(const struct xsk_buff_pool *pool, u64 addr) in xsk_buff_raw_get_ctx() argument
253 return xp_raw_get_ctx(pool, addr); in xsk_buff_raw_get_ctx()
269 __xsk_buff_get_metadata(const struct xsk_buff_pool *pool, void *data) in __xsk_buff_get_metadata() argument
273 if (!pool->tx_metadata_len) in __xsk_buff_get_metadata()
276 meta = data - pool->tx_metadata_len; in __xsk_buff_get_metadata()
284 xsk_buff_get_metadata(struct xsk_buff_pool *pool, u64 addr) in xsk_buff_get_metadata() argument
286 return __xsk_buff_get_metadata(pool, xp_raw_get_data(pool, addr)); in xsk_buff_get_metadata()
296 static inline void xsk_buff_raw_dma_sync_for_device(struct xsk_buff_pool *pool, in xsk_buff_raw_dma_sync_for_device() argument
300 xp_dma_sync_for_device(pool, dma, size); in xsk_buff_raw_dma_sync_for_device()
305 static inline void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries) in xsk_tx_completed() argument
309 static inline bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, in xsk_tx_peek_desc() argument
315 static inline u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max) in xsk_tx_peek_release_desc_batch() argument
320 static inline void xsk_tx_release(struct xsk_buff_pool *pool) in xsk_tx_release() argument
330 static inline void xsk_set_rx_need_wakeup(struct xsk_buff_pool *pool) in xsk_set_rx_need_wakeup() argument
334 static inline void xsk_set_tx_need_wakeup(struct xsk_buff_pool *pool) in xsk_set_tx_need_wakeup() argument
338 static inline void xsk_clear_rx_need_wakeup(struct xsk_buff_pool *pool) in xsk_clear_rx_need_wakeup() argument
342 static inline void xsk_clear_tx_need_wakeup(struct xsk_buff_pool *pool) in xsk_clear_tx_need_wakeup() argument
346 static inline bool xsk_uses_need_wakeup(struct xsk_buff_pool *pool) in xsk_uses_need_wakeup() argument
351 static inline u32 xsk_pool_get_headroom(struct xsk_buff_pool *pool) in xsk_pool_get_headroom() argument
356 static inline u32 xsk_pool_get_chunk_size(struct xsk_buff_pool *pool) in xsk_pool_get_chunk_size() argument
361 static inline u32 xsk_pool_get_rx_frame_size(struct xsk_buff_pool *pool) in xsk_pool_get_rx_frame_size() argument
366 static inline u32 xsk_pool_get_rx_frag_step(struct xsk_buff_pool *pool) in xsk_pool_get_rx_frag_step() argument
371 static inline void xsk_pool_set_rxq_info(struct xsk_buff_pool *pool, in xsk_pool_set_rxq_info() argument
376 static inline void xsk_pool_fill_cb(struct xsk_buff_pool *pool, in xsk_pool_fill_cb() argument
381 static inline void xsk_pool_dma_unmap(struct xsk_buff_pool *pool, in xsk_pool_dma_unmap() argument
386 static inline int xsk_pool_dma_map(struct xsk_buff_pool *pool, in xsk_pool_dma_map() argument
402 static inline struct xdp_buff *xsk_buff_alloc(struct xsk_buff_pool *pool) in xsk_buff_alloc() argument
412 static inline u32 xsk_buff_alloc_batch(struct xsk_buff_pool *pool, struct xdp_buff **xdp, u32 max) in xsk_buff_alloc_batch() argument
417 static inline bool xsk_buff_can_alloc(struct xsk_buff_pool *pool, u32 count) in xsk_buff_can_alloc() argument
455 static inline dma_addr_t xsk_buff_raw_get_dma(struct xsk_buff_pool *pool, in xsk_buff_raw_get_dma() argument
461 static inline void *xsk_buff_raw_get_data(struct xsk_buff_pool *pool, u64 addr) in xsk_buff_raw_get_data() argument
467 xsk_buff_raw_get_ctx(const struct xsk_buff_pool *pool, u64 addr) in xsk_buff_raw_get_ctx() argument
478 __xsk_buff_get_metadata(const struct xsk_buff_pool *pool, void *data) in __xsk_buff_get_metadata() argument
484 xsk_buff_get_metadata(struct xsk_buff_pool *pool, u64 addr) in xsk_buff_get_metadata() argument
493 static inline void xsk_buff_raw_dma_sync_for_device(struct xsk_buff_pool *pool, in xsk_buff_raw_dma_sync_for_device() argument