|
|
@@ -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;
|
|
|
}
|