Lines Matching refs:bq

24 static inline bool libeth_xsk_tx_queue_head(struct libeth_xdp_tx_bulk *bq,  in libeth_xsk_tx_queue_head()  argument
27 bq->bulk[bq->count++] = (typeof(*bq->bulk)){ in libeth_xsk_tx_queue_head()
36 bq->bulk[bq->count - 1].flags |= LIBETH_XDP_TX_MULTI; in libeth_xsk_tx_queue_head()
46 static inline void libeth_xsk_tx_queue_frag(struct libeth_xdp_tx_bulk *bq, in libeth_xsk_tx_queue_frag() argument
49 bq->bulk[bq->count++] = (typeof(*bq->bulk)){ in libeth_xsk_tx_queue_frag()
64 libeth_xsk_tx_queue_bulk(struct libeth_xdp_tx_bulk *bq, in libeth_xsk_tx_queue_bulk() argument
66 bool (*flush_bulk)(struct libeth_xdp_tx_bulk *bq, in libeth_xsk_tx_queue_bulk() argument
71 if (unlikely(bq->count == LIBETH_XDP_TX_BULK) && in libeth_xsk_tx_queue_bulk()
72 unlikely(!flush_bulk(bq, LIBETH_XDP_TX_XSK))) { in libeth_xsk_tx_queue_bulk()
77 if (!libeth_xsk_tx_queue_head(bq, xdp)) in libeth_xsk_tx_queue_bulk()
86 if (unlikely(bq->count == LIBETH_XDP_TX_BULK) && in libeth_xsk_tx_queue_bulk()
87 unlikely(!flush_bulk(bq, LIBETH_XDP_TX_XSK))) { in libeth_xsk_tx_queue_bulk()
92 libeth_xsk_tx_queue_frag(bq, xdp); in libeth_xsk_tx_queue_bulk()
96 bq->bulk[bq->count - 1].flags |= LIBETH_XDP_TX_LAST; in libeth_xsk_tx_queue_bulk()
149 #define libeth_xsk_tx_flush_bulk(bq, flags, prep, xmit) \ argument
150 __libeth_xdp_tx_flush_bulk(bq, (flags) | LIBETH_XDP_TX_XSK, prep, \
329 #define libeth_xsk_tx_init_bulk(bq, prog, dev, xdpsqs, num) \ argument
330 __libeth_xdp_tx_init_bulk(bq, prog, dev, xdpsqs, num, true, \
374 const struct libeth_xdp_tx_bulk *bq,
391 const struct libeth_xdp_tx_bulk *bq) in __libeth_xsk_run_prog() argument
396 act = bpf_prog_run_xdp(bq->prog, &xdp->base); in __libeth_xsk_run_prog()
399 return __libeth_xsk_run_prog_slow(xdp, bq, act, ret); in __libeth_xsk_run_prog()
401 ret = xdp_do_redirect(bq->dev, &xdp->base, bq->prog); in __libeth_xsk_run_prog()
419 #define libeth_xsk_run_prog(xdp, bq, fl) \ argument
420 __libeth_xdp_run_flush(xdp, bq, __libeth_xsk_run_prog, \
442 struct libeth_xdp_tx_bulk *bq, struct napi_struct *napi, in __libeth_xsk_run_pass() argument
447 struct libeth_xdp_tx_bulk *bq), in __libeth_xsk_run_pass() argument
464 act = run(xdp, bq); in __libeth_xsk_run_pass()
500 #define libeth_xsk_run_pass(xdp, bq, napi, rs, desc, run, populate) \ argument
501 __libeth_xsk_run_pass(xdp, bq, napi, rs, desc, libeth_xdp_prep_desc, \
513 #define libeth_xsk_finalize_rx(bq, flush, finalize) \ argument
514 __libeth_xdp_finalize_rx(bq, LIBETH_XDP_TX_XSK, flush, finalize)