From: Dragos Tatulea Date: Tue, 21 Feb 2023 15:24:09 +0000 (+0200) Subject: net/mlx5e: RX, Change wqe last_in_page field from bool to bit flags X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=625dff29df3957f8a864c05d21a327231ebeff94;p=linux.git net/mlx5e: RX, Change wqe last_in_page field from bool to bit flags Change the bool flag to a bitfield as we'll use it in a downstream patch in the series to add signaling about skipping a fragment release. Signed-off-by: Dragos Tatulea Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index 566ddf7a7aa91..9ef4b7163e5ad 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -605,13 +605,17 @@ struct mlx5e_frag_page { u16 frags; }; +enum mlx5e_wqe_frag_flag { + MLX5E_WQE_FRAG_LAST_IN_PAGE, +}; + struct mlx5e_wqe_frag_info { union { struct mlx5e_frag_page *frag_page; struct xdp_buff **xskp; }; u32 offset; - bool last_in_page; + u8 flags; }; union mlx5e_alloc_units { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 53eef689f2258..bb1cbf0088767 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -532,7 +532,7 @@ static void mlx5e_init_frags_partition(struct mlx5e_rq *rq) next_frag.frag_page++; next_frag.offset = 0; if (prev) - prev->last_in_page = true; + prev->flags |= BIT(MLX5E_WQE_FRAG_LAST_IN_PAGE); } *frag = next_frag; @@ -543,7 +543,7 @@ static void mlx5e_init_frags_partition(struct mlx5e_rq *rq) } if (prev) - prev->last_in_page = true; + prev->flags |= BIT(MLX5E_WQE_FRAG_LAST_IN_PAGE); } static void mlx5e_init_xsk_buffs(struct mlx5e_rq *rq) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c index 73bc373bf27d1..f98212596c1ea 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c @@ -323,7 +323,7 @@ static inline void mlx5e_put_rx_frag(struct mlx5e_rq *rq, struct mlx5e_wqe_frag_info *frag, bool recycle) { - if (frag->last_in_page) + if (frag->flags & BIT(MLX5E_WQE_FRAG_LAST_IN_PAGE)) mlx5e_page_release_fragmented(rq, frag->frag_page, recycle); }