summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoti Haimovsky <motih@mellanox.com>2017-10-25 18:37:26 +0300
committerFerruh Yigit <ferruh.yigit@intel.com>2017-10-27 01:05:55 +0200
commit096134582c4e505d95228ef640741d2aacca2e6f (patch)
tree481875896e530d86639fa8583fbdf98229201d3a
parent1a2ba426a62ef143c8d91c1ffbabc42749f9ddb5 (diff)
downloaddpdk-096134582c4e505d95228ef640741d2aacca2e6f.zip
dpdk-096134582c4e505d95228ef640741d2aacca2e6f.tar.gz
dpdk-096134582c4e505d95228ef640741d2aacca2e6f.tar.xz
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 <motih@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
-rw-r--r--drivers/net/mlx4/mlx4_prm.h3
-rw-r--r--drivers/net/mlx4/mlx4_rxtx.c5
2 files changed, 6 insertions, 2 deletions
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 @@ 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;