Home
last modified time | relevance | path

Searched refs:xsk (Results 1 – 25 of 28) sorted by relevance

12

/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
Dpool.c23 static int mlx5e_xsk_get_pools(struct mlx5e_xsk *xsk) in mlx5e_xsk_get_pools() argument
25 if (!xsk->pools) { in mlx5e_xsk_get_pools()
26 xsk->pools = kcalloc(MLX5E_MAX_NUM_CHANNELS, in mlx5e_xsk_get_pools()
27 sizeof(*xsk->pools), GFP_KERNEL); in mlx5e_xsk_get_pools()
28 if (unlikely(!xsk->pools)) in mlx5e_xsk_get_pools()
32 xsk->refcnt++; in mlx5e_xsk_get_pools()
33 xsk->ever_used = true; in mlx5e_xsk_get_pools()
38 static void mlx5e_xsk_put_pools(struct mlx5e_xsk *xsk) in mlx5e_xsk_put_pools() argument
40 if (!--xsk->refcnt) { in mlx5e_xsk_put_pools()
41 kfree(xsk->pools); in mlx5e_xsk_put_pools()
[all …]
Dsetup.c12 struct mlx5e_xsk_param *xsk) in mlx5e_legacy_rq_validate_xsk() argument
14 if (!mlx5e_rx_is_linear_skb(mdev, params, xsk)) { in mlx5e_legacy_rq_validate_xsk()
28 struct mlx5e_xsk_param *xsk, in mlx5e_validate_xsk_param() argument
34 if ((size_t)xsk->chunk_size > PAGE_SIZE || xsk->chunk_size < MLX5E_MIN_XSK_CHUNK_SIZE) { in mlx5e_validate_xsk_param()
35 mlx5_core_err(mdev, "XSK chunk size %u out of bounds [%u, %lu]\n", xsk->chunk_size, in mlx5e_validate_xsk_param()
45 return !mlx5e_mpwrq_validate_xsk(mdev, params, xsk); in mlx5e_validate_xsk_param()
47 return !mlx5e_legacy_rq_validate_xsk(mdev, params, xsk); in mlx5e_validate_xsk_param()
53 struct mlx5e_xsk_param *xsk, in mlx5e_build_xsk_cparam() argument
57 mlx5e_build_rq_param(mdev, params, xsk, q_counter, &cparam->rq); in mlx5e_build_xsk_cparam()
58 mlx5e_build_xdpsq_param(mdev, params, xsk, &cparam->xdp_sq); in mlx5e_build_xsk_cparam()
[all …]
Dpool.h10 struct mlx5e_xsk *xsk, u16 ix) in mlx5e_xsk_get_pool() argument
12 if (!xsk || !xsk->pools) in mlx5e_xsk_get_pool()
18 return xsk->pools[ix]; in mlx5e_xsk_get_pool()
22 void mlx5e_build_xsk_param(struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk);
Dsetup.h12 struct mlx5e_xsk_param *xsk,
15 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
/drivers/net/ethernet/mellanox/mlx5/core/en/
Dparams.c19 u8 mlx5e_mpwrq_page_shift(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk) in mlx5e_mpwrq_page_shift() argument
21 u8 req_page_shift = xsk ? order_base_2(xsk->chunk_size) : PAGE_SHIFT; in mlx5e_mpwrq_page_shift()
25 if (WARN_ON_ONCE(!xsk && req_page_shift < min_page_shift)) in mlx5e_mpwrq_page_shift()
32 mlx5e_mpwrq_umr_mode(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk) in mlx5e_mpwrq_umr_mode() argument
43 u8 page_shift = mlx5e_mpwrq_page_shift(mdev, xsk); in mlx5e_mpwrq_umr_mode()
44 bool unaligned = xsk ? xsk->unaligned : false; in mlx5e_mpwrq_umr_mode()
47 if (xsk) { in mlx5e_mpwrq_umr_mode()
48 oversized = xsk->chunk_size < (1 << page_shift); in mlx5e_mpwrq_umr_mode()
49 WARN_ON_ONCE(xsk->chunk_size > (1 << page_shift)); in mlx5e_mpwrq_umr_mode()
65 if (xsk->chunk_size % 3 == 0 && is_power_of_2(xsk->chunk_size / 3)) in mlx5e_mpwrq_umr_mode()
[all …]
Dparams.h59 u8 mlx5e_mpwrq_page_shift(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk);
61 mlx5e_mpwrq_umr_mode(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk);
88 struct mlx5e_xsk_param *xsk);
94 struct mlx5e_xsk_param *xsk);
97 struct mlx5e_xsk_param *xsk);
100 struct mlx5e_xsk_param *xsk);
103 struct mlx5e_xsk_param *xsk);
118 struct mlx5e_xsk_param *xsk);
121 struct mlx5e_xsk_param *xsk);
125 struct mlx5e_xsk_param *xsk);
[all …]
Drx_res.h42 unsigned int ix, bool xsk);
Dxdp.h103 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk);
Drx_res.c568 unsigned int ix, bool xsk) in mlx5e_rx_res_xsk_update() argument
570 if (xsk) in mlx5e_rx_res_xsk_update()
Dxdp.c40 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) in mlx5e_xdp_max_mtu() argument
42 int hr = mlx5e_get_linear_rq_headroom(params, xsk); in mlx5e_xdp_max_mtu()
/drivers/net/ethernet/mellanox/mlx5/core/
DMakefile29 en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/pool.o \
30 en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o en/devlink.o en/ptp.o \
Den_main.c732 struct mlx5e_xsk_param *xsk, in mlx5e_alloc_rq() argument
752 rq->buff.headroom = mlx5e_get_rq_headroom(mdev, params, xsk); in mlx5e_alloc_rq()
772 rq->mpwqe.page_shift = mlx5e_mpwrq_page_shift(mdev, xsk); in mlx5e_alloc_rq()
773 rq->mpwqe.umr_mode = mlx5e_mpwrq_umr_mode(mdev, xsk); in mlx5e_alloc_rq()
785 mlx5e_mpwqe_get_log_rq_size(mdev, params, xsk); in mlx5e_alloc_rq()
787 if (!mlx5e_rx_mpwqe_is_linear_skb(mdev, params, xsk) && params->xdp_prog) in mlx5e_alloc_rq()
790 rq->mpwqe.log_stride_sz = mlx5e_mpwqe_get_log_stride_size(mdev, params, xsk); in mlx5e_alloc_rq()
792 BIT(mlx5e_mpwqe_get_log_num_strides(mdev, params, xsk)); in mlx5e_alloc_rq()
828 if (xsk) { in mlx5e_alloc_rq()
1213 struct mlx5e_xsk_param *xsk, int node, in mlx5e_open_rq() argument
[all …]
Den.h317 struct mlx5e_xsk *xsk; member
601 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk);
932 struct mlx5e_xsk xsk; member
1016 struct mlx5e_xsk_param *xsk, int node,
1205 void mlx5e_build_nic_params(struct mlx5e_priv *priv, struct mlx5e_xsk *xsk, u16 mtu);
Den_stats.c2368 (NUM_XSKRQ_STATS * max_nch * priv->xsk.ever_used) + in MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS()
2369 (NUM_XSKSQ_STATS * max_nch * priv->xsk.ever_used); in MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS()
2374 bool is_xsk = priv->xsk.ever_used; in MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS()
2416 bool is_xsk = priv->xsk.ever_used; in MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS()
Den_rx.c2686 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk) in mlx5e_rq_set_handlers() argument
2694 rq->mpwqe.skb_from_cqe_mpwrq = xsk ? in mlx5e_rq_set_handlers()
2718 rq->wqe.skb_from_cqe = xsk ? in mlx5e_rq_set_handlers()
/drivers/net/ethernet/freescale/dpaa2/
DMakefile10 …-eth-objs := dpaa2-eth.o dpaa2-ethtool.o dpni.o dpaa2-mac.o dpmac.o dpaa2-eth-devlink.o dpaa2-xsk.o
Ddpaa2-xsk.c50 xdp_buff = swa->xsk.xdp_buff; in dpaa2_xsk_run_xdp()
365 swa->xsk.sgt_size = sgt_buf_size; in dpaa2_xsk_tx_build_fd()
Ddpaa2-eth.h165 } xsk; member
Ddpaa2-eth.c300 xdp_buff = swa->xsk.xdp_buff; in dpaa2_eth_free_bufs()
1191 dma_unmap_single(dev, fd_addr, swa->xsk.sgt_size, in dpaa2_eth_free_tx_fd()
1728 swa->xsk.xdp_buff = xdp_buffs[i]; in dpaa2_eth_add_bufs()
2799 return dpaa2_xsk_setup_pool(dev, xdp->xsk.pool, xdp->xsk.queue_id); in dpaa2_eth_xdp()
/drivers/net/ethernet/netronome/nfp/
DMakefile25 nfd3/xsk.o \
Dnfp_net_common.c2046 return nfp_net_xsk_setup_pool(netdev, xdp->xsk.pool, in nfp_net_xdp()
2047 xdp->xsk.queue_id); in nfp_net_xdp()
/drivers/net/ethernet/google/gve/
Dgve_main.c1684 if (xdp->xsk.pool) in gve_xdp()
1685 return gve_xsk_pool_enable(dev, xdp->xsk.pool, xdp->xsk.queue_id); in gve_xdp()
1687 return gve_xsk_pool_disable(dev, xdp->xsk.queue_id); in gve_xdp()
/drivers/net/ethernet/engleder/
Dtsnep_main.c2232 return tsnep_xdp_setup_pool(adapter, bpf->xsk.pool, in tsnep_netdev_bpf()
2233 bpf->xsk.queue_id); in tsnep_netdev_bpf()
/drivers/net/ethernet/intel/igc/
Digc_main.c6469 return igc_xdp_setup_pool(adapter, bpf->xsk.pool, in igc_bpf()
6470 bpf->xsk.queue_id); in igc_bpf()
/drivers/net/ethernet/intel/ice/
Dice_main.c3024 return ice_xsk_pool_setup(vsi, xdp->xsk.pool, in ice_xdp()
3025 xdp->xsk.queue_id); in ice_xdp()

12