Home
last modified time | relevance | path

Searched refs:mpwqe (Results 1 – 13 of 13) sorted by relevance

/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
H A Drx.c36 rq->mpwqe.pages_per_wqe); in mlx5e_xsk_alloc_rx_mpwqe()
44 for (; batch < rq->mpwqe.pages_per_wqe; batch++) { in mlx5e_xsk_alloc_rx_mpwqe()
50 pi = mlx5e_icosq_get_next_pi(icosq, rq->mpwqe.umr_wqebbs); in mlx5e_xsk_alloc_rx_mpwqe()
54 if (likely(rq->mpwqe.umr_mode == MLX5E_MPWRQ_UMR_MODE_ALIGNED)) { in mlx5e_xsk_alloc_rx_mpwqe()
76 u32 mapping_size = 1 << (rq->mpwqe.page_shift - 2); in mlx5e_xsk_alloc_rx_mpwqe()
101 __be32 pad_size = cpu_to_be32((1 << rq->mpwqe.page_shift) - in mlx5e_xsk_alloc_rx_mpwqe()
123 bitmap_zero(wi->skip_release_bitmap, rq->mpwqe.pages_per_wqe); in mlx5e_xsk_alloc_rx_mpwqe()
130 offset = ix * rq->mpwqe.mtts_per_wqe; in mlx5e_xsk_alloc_rx_mpwqe()
131 if (likely(rq->mpwqe.umr_mode == MLX5E_MPWRQ_UMR_MODE_ALIGNED)) in mlx5e_xsk_alloc_rx_mpwqe()
141 .num_wqebbs = rq->mpwqe.umr_wqebbs, in mlx5e_xsk_alloc_rx_mpwqe()
[all …]
H A Dtx.c108 if (sq->mpwqe.wqe) in mlx5e_xsk_tx()
130 if (sq->mpwqe.wqe) in mlx5e_xsk_tx()
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_rx.c808 rq->mpwqe.pages_per_wqe; in mlx5e_alloc_rx_mpwqe()
826 .num_wqebbs = rq->mpwqe.umr_wqebbs, in mlx5e_alloc_rx_mpwqe()
830 sq->pc += rq->mpwqe.umr_wqebbs; in mlx5e_alloc_rx_mpwqe()
1090 rq->mpwqe.umr_completed = 0; in mlx5e_post_rx_mpwqes()
1095 if (unlikely(rq->mpwqe.umr_in_progress > rq->mpwqe.umr_last_bulk)) in mlx5e_post_rx_mpwqes()
1104 head = rq->mpwqe.actual_wq_head; in mlx5e_post_rx_mpwqes()
1126 rq->mpwqe.umr_in_progress += rq->mpwqe.umr_last_bulk; in mlx5e_post_rx_mpwqes()
1127 rq->mpwqe.actual_wq_head = head; in mlx5e_post_rx_mpwqes()
1947 wq = &rq->mpwqe.wq; in mlx5e_handle_rx_cqe_mpwrq_rep()
2366 wq = &rq->mpwqe.wq; in mlx5e_handle_rx_cqe_mpwrq_shampo()
[all …]
H A Den_main.c335 rq->mpwqe.shampo = kvzalloc_node(sizeof(*rq->mpwqe.shampo), in mlx5e_rq_shampo_hd_alloc()
337 if (!rq->mpwqe.shampo) in mlx5e_rq_shampo_hd_alloc()
344 kvfree(rq->mpwqe.shampo); in mlx5e_rq_shampo_hd_free()
384 if (!rq->mpwqe.info) in mlx5e_rq_alloc_mpwqe_info()
787 rq->mpwqe.shampo->key = in mlx5_rq_shampo_alloc()
854 rq->mpwqe.wq.db = &rq->mpwqe.wq.db[MLX5_RCV_DBR]; in mlx5e_alloc_rq()
863 rq->mpwqe.umr_wqebbs = in mlx5e_alloc_rq()
877 rq->mpwqe.num_strides = in mlx5e_alloc_rq()
955 rq->mpwqe.num_strides << rq->mpwqe.log_stride_sz; in mlx5e_alloc_rq()
957 rq->mpwqe.page_shift; in mlx5e_alloc_rq()
[all …]
H A Den_tx.c517 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_tx_mpwqe_same_eseg()
526 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_tx_mpwqe_session_start()
550 return sq->mpwqe.wqe; in mlx5e_tx_mpwqe_session_is_active()
555 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_tx_mpwqe_add_dseg()
573 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_tx_mpwqe_session_complete()
630 if (unlikely(mlx5e_tx_mpwqe_is_full(&sq->mpwqe))) { in mlx5e_sq_xmit_mpwqe()
H A Den.h428 struct mlx5e_tx_mpwqe mpwqe; member
494 struct mlx5e_tx_mpwqe mpwqe; member
684 } mpwqe; member
H A Den_stats.c281 s->tx_xdp_mpwqe += xdpsq_red_stats->mpwqe; in mlx5e_stats_grp_sw_update_stats_xdp_red()
293 s->rx_xdp_tx_mpwqe += xdpsq_stats->mpwqe; in mlx5e_stats_grp_sw_update_stats_xdpsq()
305 s->tx_xsk_mpwqe += xsksq_stats->mpwqe; in mlx5e_stats_grp_sw_update_stats_xsksq()
2184 { MLX5E_DECLARE_RQ_XDPSQ_STAT(struct mlx5e_xdpsq_stats, mpwqe) },
2194 { MLX5E_DECLARE_XDPSQ_STAT(struct mlx5e_xdpsq_stats, mpwqe) },
2225 { MLX5E_DECLARE_XSKSQ_STAT(struct mlx5e_xdpsq_stats, mpwqe) },
H A Den_stats.h451 u64 mpwqe; member
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtxrx.h234 return be16_to_cpu(cqe->shampo.header_entry_index) & (rq->mpwqe.shampo->hd_per_wq - 1); in mlx5e_shampo_get_cqe_header_index()
382 mlx5_wq_ll_reset(&rq->mpwqe.wq); in mlx5e_rqwq_reset()
383 rq->mpwqe.actual_wq_head = 0; in mlx5e_rqwq_reset()
409 return mlx5_wq_ll_get_size(&rq->mpwqe.wq); in mlx5e_rqwq_get_size()
419 return rq->mpwqe.wq.cur_sz; in mlx5e_rqwq_get_cur_sz()
429 return mlx5_wq_ll_get_head(&rq->mpwqe.wq); in mlx5e_rqwq_get_head()
439 return mlx5_wq_ll_get_counter(&rq->mpwqe.wq); in mlx5e_rqwq_get_wqe_counter()
574 size_t isz = struct_size(rq->mpwqe.info, alloc_units.frag_pages, rq->mpwqe.pages_per_wqe); in mlx5e_get_mpw_info()
576 return (struct mlx5e_mpw_info *)((char *)rq->mpwqe.info + array_size(i, isz)); in mlx5e_get_mpw_info()
H A Dxdp.c380 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_xdp_mpwqe_session_start()
398 stats->mpwqe++; in mlx5e_xdp_mpwqe_session_start()
404 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_xdp_mpwqe_complete()
431 if (unlikely(!sq->mpwqe.wqe)) { in mlx5e_xmit_xdp_frame_check_mpwqe()
454 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_xmit_xdp_frame_mpwqe()
468 if (unlikely(sq->mpwqe.wqe)) in mlx5e_xmit_xdp_frame_mpwqe()
938 if (sq->mpwqe.wqe) in mlx5e_xdp_xmit()
951 if (xdpsq->mpwqe.wqe) in mlx5e_xdp_rx_poll_complete()
H A Dxdp.h204 struct mlx5e_tx_mpwqe *session = &sq->mpwqe; in mlx5e_xdp_mpwqe_add_dseg()
H A Dparams.c266 bool mpwqe) in mlx5e_rx_get_linear_stride_sz() argument
275 return mpwqe ? 1 << mlx5e_mpwrq_page_shift(mdev, xsk) : PAGE_SIZE; in mlx5e_rx_get_linear_stride_sz()
277 no_head_tail_room = params->xdp_prog && mpwqe && !mlx5e_rx_is_linear_skb(mdev, params, xsk); in mlx5e_rx_get_linear_stride_sz()
/linux-6.15/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/
H A Dcounters.rst361 - The number of send blocks processed from Multi-Packet WQEs (mpwqe).
365 - The number of send packets processed from Multi-Packet WQEs (mpwqe).