From: Tariq Toukan <tar...@mellanox.com>

For the static and progress context params WQEs, do the edge
filling separately.
This improves the WQ utilization, code readability, and reduces
the chance of future bugs.

Signed-off-by: Tariq Toukan <tar...@mellanox.com>
Reviewed-by: Maxim Mikityanskiy <maxi...@mellanox.com>
Signed-off-by: Saeed Mahameed <sae...@mellanox.com>
---
 .../mellanox/mlx5/core/en_accel/ktls_tx.c      | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
index 352b0a3ef0ad..efc271e24b03 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
@@ -134,14 +134,14 @@ post_static_params(struct mlx5e_txqsq *sq,
                   struct mlx5e_ktls_offload_context_tx *priv_tx,
                   bool fence)
 {
+       u16 pi, num_wqebbs = MLX5E_KTLS_STATIC_WQEBBS;
        struct mlx5e_umr_wqe *umr_wqe;
-       u16 pi;
 
-       pi = mlx5_wq_cyc_ctr2ix(&sq->wq, sq->pc);
+       pi = mlx5e_txqsq_get_next_pi(sq, num_wqebbs);
        umr_wqe = MLX5E_TLS_FETCH_UMR_WQE(sq, pi);
        build_static_params(umr_wqe, sq->pc, sq->sqn, priv_tx, fence);
-       tx_fill_wi(sq, pi, MLX5E_KTLS_STATIC_WQEBBS, 0, NULL);
-       sq->pc += MLX5E_KTLS_STATIC_WQEBBS;
+       tx_fill_wi(sq, pi, num_wqebbs, 0, NULL);
+       sq->pc += num_wqebbs;
 }
 
 static void
@@ -149,14 +149,14 @@ post_progress_params(struct mlx5e_txqsq *sq,
                     struct mlx5e_ktls_offload_context_tx *priv_tx,
                     bool fence)
 {
+       u16 pi, num_wqebbs = MLX5E_KTLS_PROGRESS_WQEBBS;
        struct mlx5e_tx_wqe *wqe;
-       u16 pi;
 
-       pi = mlx5_wq_cyc_ctr2ix(&sq->wq, sq->pc);
+       pi = mlx5e_txqsq_get_next_pi(sq, num_wqebbs);
        wqe = MLX5E_TLS_FETCH_PROGRESS_WQE(sq, pi);
        build_progress_params(wqe, sq->pc, sq->sqn, priv_tx, fence);
-       tx_fill_wi(sq, pi, MLX5E_KTLS_PROGRESS_WQEBBS, 0, NULL);
-       sq->pc += MLX5E_KTLS_PROGRESS_WQEBBS;
+       tx_fill_wi(sq, pi, num_wqebbs, 0, NULL);
+       sq->pc += num_wqebbs;
 }
 
 static void
@@ -166,8 +166,6 @@ mlx5e_ktls_tx_post_param_wqes(struct mlx5e_txqsq *sq,
 {
        bool progress_fence = skip_static_post || !fence_first_post;
 
-       mlx5e_txqsq_get_next_pi(sq, MLX5E_KTLS_STATIC_WQEBBS + 
MLX5E_KTLS_PROGRESS_WQEBBS);
-
        if (!skip_static_post)
                post_static_params(sq, priv_tx, fence_first_post);
 
-- 
2.25.4

Reply via email to