[dpdk-dev,v4,1/2] net/mlx4: introducing consumer index mask

Message ID 1508945847-33128-1-git-send-email-motih@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Moti Haimovsky Oct. 25, 2017, 3:37 p.m. UTC
  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 <motih@mellanox.com>
---
 drivers/net/mlx4/mlx4_prm.h  | 3 +++
 drivers/net/mlx4/mlx4_rxtx.c | 5 +++--
 2 files changed, 6 insertions(+), 2 deletions(-)
  

Comments

Nélio Laranjeiro Oct. 26, 2017, 8:12 a.m. UTC | #1
On Wed, Oct 25, 2017 at 06:37:26PM +0300, Moti Haimovsky wrote:
> 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 <motih@mellanox.com>

Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
  
Ferruh Yigit Oct. 26, 2017, 10:20 p.m. UTC | #2
On 10/26/2017 1:12 AM, Nélio Laranjeiro wrote:
> On Wed, Oct 25, 2017 at 06:37:26PM +0300, Moti Haimovsky wrote:
>> 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 <motih@mellanox.com>
> 
> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

Series applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/mlx4/mlx4_prm.h b/drivers/net/mlx4/mlx4_prm.h
index 3a77502..bd9a574 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 36173ad..67dc712 100644
--- a/drivers/net/mlx4/mlx4_rxtx.c
+++ b/drivers/net/mlx4/mlx4_rxtx.c
@@ -200,7 +200,7 @@  struct pv {
 	 * 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 @@  struct pv {
 	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;