Commit 625dff29 authored by Dragos Tatulea's avatar Dragos Tatulea Committed by Saeed Mahameed
Browse files

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: default avatarDragos Tatulea <dtatulea@nvidia.com>
Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent 4c2a1323
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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 {
+2 −2
Original line number Diff line number Diff line
@@ -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)
+1 −1
Original line number Diff line number Diff line
@@ -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);
}