/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
D | pool.c | 23 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 …]
|
D | setup.c | 12 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 …]
|
D | pool.h | 10 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);
|
D | setup.h | 12 struct mlx5e_xsk_param *xsk, 15 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
|
/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | params.c | 19 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 …]
|
D | params.h | 59 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 …]
|
D | rx_res.h | 42 unsigned int ix, bool xsk);
|
D | xdp.h | 103 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk);
|
D | rx_res.c | 568 unsigned int ix, bool xsk) in mlx5e_rx_res_xsk_update() argument 570 if (xsk) in mlx5e_rx_res_xsk_update()
|
D | xdp.c | 40 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/ |
D | Makefile | 29 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 \
|
D | en_main.c | 732 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 …]
|
D | en.h | 317 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);
|
D | en_stats.c | 2368 (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()
|
D | en_rx.c | 2686 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/ |
D | Makefile | 10 …-eth-objs := dpaa2-eth.o dpaa2-ethtool.o dpni.o dpaa2-mac.o dpmac.o dpaa2-eth-devlink.o dpaa2-xsk.o
|
D | dpaa2-xsk.c | 50 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()
|
D | dpaa2-eth.h | 165 } xsk; member
|
D | dpaa2-eth.c | 300 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/ |
D | Makefile | 25 nfd3/xsk.o \
|
D | nfp_net_common.c | 2046 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/ |
D | gve_main.c | 1684 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/ |
D | tsnep_main.c | 2232 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/ |
D | igc_main.c | 6469 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/ |
D | ice_main.c | 3024 return ice_xsk_pool_setup(vsi, xdp->xsk.pool, in ice_xdp() 3025 xdp->xsk.queue_id); in ice_xdp()
|