net/mlx5_core: Modify arm CQ in preparation for upcoming Ethernet driver
authorSaeed Mahameed <saeedm@mellanox.com>
Thu, 2 Apr 2015 14:07:33 +0000 (17:07 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Apr 2015 20:33:43 +0000 (16:33 -0400)
Pass consumer index as a parameter to arm CQ

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/hw/mlx5/cq.c
include/linux/mlx5/cq.h

index c94e2651820dc48667fa8290e32a0f87e7f0e953..2ee6b105197544abb2799e552b129d37eff53906 100644 (file)
@@ -572,11 +572,15 @@ int mlx5_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc)
 
 int mlx5_ib_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags flags)
 {
+       struct mlx5_core_dev *mdev = to_mdev(ibcq->device)->mdev;
+       void __iomem *uar_page = mdev->priv.uuari.uars[0].map;
+
        mlx5_cq_arm(&to_mcq(ibcq)->mcq,
                    (flags & IB_CQ_SOLICITED_MASK) == IB_CQ_SOLICITED ?
                    MLX5_CQ_DB_REQ_NOT_SOL : MLX5_CQ_DB_REQ_NOT,
-                   to_mdev(ibcq->device)->mdev->priv.uuari.uars[0].map,
-                   MLX5_GET_DOORBELL_LOCK(&to_mdev(ibcq->device)->mdev->priv.cq_uar_lock));
+                   uar_page,
+                   MLX5_GET_DOORBELL_LOCK(&mdev->priv.cq_uar_lock),
+                   to_mcq(ibcq)->mcq.cons_index);
 
        return 0;
 }
index 72ee0d732a260aa41cdb3577ea7885a384f7efb0..2695ced222df23b56df42252fb7319c7d7d8b157 100644 (file)
@@ -137,14 +137,15 @@ enum {
 
 static inline void mlx5_cq_arm(struct mlx5_core_cq *cq, u32 cmd,
                               void __iomem *uar_page,
-                              spinlock_t *doorbell_lock)
+                              spinlock_t *doorbell_lock,
+                              u32 cons_index)
 {
        __be32 doorbell[2];
        u32 sn;
        u32 ci;
 
        sn = cq->arm_sn & 3;
-       ci = cq->cons_index & 0xffffff;
+       ci = cons_index & 0xffffff;
 
        *cq->arm_db = cpu_to_be32(sn << 28 | cmd | ci);