From 096134582c4e505d95228ef640741d2aacca2e6f Mon Sep 17 00:00:00 2001 From: Moti Haimovsky Date: Wed, 25 Oct 2017 18:37:26 +0300 Subject: [PATCH] net/mlx4: introducing consumer index mask This commit defines MLX4_CQ_DB_CI_MASK which is used when updating the consumer index of the completion queue instead of the hardcoded 0xffffff used until now. Signed-off-by: Moti Haimovsky Acked-by: Nelio Laranjeiro --- drivers/net/mlx4/mlx4_prm.h | 3 +++ drivers/net/mlx4/mlx4_rxtx.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx4/mlx4_prm.h b/drivers/net/mlx4/mlx4_prm.h index 3a775024c7..bd9a57456b 100644 --- a/drivers/net/mlx4/mlx4_prm.h +++ b/drivers/net/mlx4/mlx4_prm.h @@ -93,6 +93,9 @@ struct mlx4_sq { #define mlx4_get_send_wqe(sq, n) ((sq)->buf + ((n) * (MLX4_TXBB_SIZE))) +/* Completion queue consumer index mask. */ +#define MLX4_CQ_DB_CI_MASK 0xffffff + /* Completion queue information. */ struct mlx4_cq { uint8_t *buf; /**< Pointer to the completion queue buffer. */ diff --git a/drivers/net/mlx4/mlx4_rxtx.c b/drivers/net/mlx4/mlx4_rxtx.c index 36173ad06f..67dc712872 100644 --- a/drivers/net/mlx4/mlx4_rxtx.c +++ b/drivers/net/mlx4/mlx4_rxtx.c @@ -200,7 +200,7 @@ mlx4_txq_complete(struct txq *txq) * the ring consumer. */ cq->cons_index = cons_index; - *cq->set_ci_db = rte_cpu_to_be_32(cq->cons_index & 0xffffff); + *cq->set_ci_db = rte_cpu_to_be_32(cq->cons_index & MLX4_CQ_DB_CI_MASK); rte_wmb(); sq->tail = sq->tail + nr_txbbs; /* Update the list of packets posted for transmission. */ @@ -829,7 +829,8 @@ skip: rxq->rq_ci = rq_ci >> sges_n; rte_wmb(); *rxq->rq_db = rte_cpu_to_be_32(rxq->rq_ci); - *rxq->mcq.set_ci_db = rte_cpu_to_be_32(rxq->mcq.cons_index & 0xffffff); + *rxq->mcq.set_ci_db = + rte_cpu_to_be_32(rxq->mcq.cons_index & MLX4_CQ_DB_CI_MASK); /* Increment packets counter. */ rxq->stats.ipackets += i; return i; -- 2.20.1