From patchwork Thu Apr 2 14:07:33 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eli Cohen X-Patchwork-Id: 457681 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id C97D314007F for ; Fri, 3 Apr 2015 01:08:30 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753564AbbDBOIV (ORCPT ); Thu, 2 Apr 2015 10:08:21 -0400 Received: from mail-wg0-f42.google.com ([74.125.82.42]:34843 "EHLO mail-wg0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753361AbbDBOIQ (ORCPT ); Thu, 2 Apr 2015 10:08:16 -0400 Received: by wgdm6 with SMTP id m6so86632065wgd.2 for ; Thu, 02 Apr 2015 07:08:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=q8XNjd0G2p33v3buQFGkvNj+leH6oGrFCtm4YSQzhvc=; b=CwqkhZP8ZLTEJcuSG4UL32GUW8VAdIuVRF2f0504nXkCXoBRUziLeIaF2N1UMkLqMY /xUYPpVhhKT8EGXVQqLm+jvHmleuz7nO8bRQ26e6oNPi6jbQs+nKjMO5HgJy1doyttca DBLN/ogAnTXrp6PYNqhFkR6GkjECknZ3BHX2rGnlYcWeaK4l98gcVyDnV80yDxKuwfTS olBR9k9CapLsHFweQkjlA6nQN6p5qCPfzyKHPUCvm9lV2feX+famTFs81vKiszn8sBBc ZCR5SqwkuOU3KZzWlY5enIlDffxSHPk405aUQGzYOeUqGOewOEevVlRwM5yKNqyekFWM g+Kw== X-Gm-Message-State: ALoCoQm0m1nmLp54rASlAYetQcdKtDWyWJ/JGMEcfbz+4AmOJk4+s+vSK5wiceRUB5CZSbjsar+p X-Received: by 10.194.175.39 with SMTP id bx7mr96162813wjc.22.1427983695482; Thu, 02 Apr 2015 07:08:15 -0700 (PDT) Received: from localhost ([193.47.165.251]) by mx.google.com with ESMTPSA id hl8sm7409426wjb.38.2015.04.02.07.08.14 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 02 Apr 2015 07:08:15 -0700 (PDT) From: Eli Cohen X-Google-Original-From: Eli Cohen To: davem@davemloft.net Cc: netdev@vger.kernel.org, idos@mellaox.com, amirv@mellanox.com, Saeed Mahameed , Eli Cohen Subject: [PATCH net-next 15/16] net/mlx5_core: Modify arm CQ in preparation for upcoming Ethernet driver Date: Thu, 2 Apr 2015 17:07:33 +0300 Message-Id: <1427983654-971-16-git-send-email-eli@mellanox.com> X-Mailer: git-send-email 2.3.1 In-Reply-To: <1427983654-971-1-git-send-email-eli@mellanox.com> References: <1427983654-971-1-git-send-email-eli@mellanox.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Saeed Mahameed Pass consumer index as a parameter to arm CQ Signed-off-by: Saeed Mahameed Signed-off-by: Eli Cohen --- drivers/infiniband/hw/mlx5/cq.c | 8 ++++++-- include/linux/mlx5/cq.h | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c index c94e2651820d..2ee6b1051975 100644 --- a/drivers/infiniband/hw/mlx5/cq.c +++ b/drivers/infiniband/hw/mlx5/cq.c @@ -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; } diff --git a/include/linux/mlx5/cq.h b/include/linux/mlx5/cq.h index 72ee0d732a26..2695ced222df 100644 --- a/include/linux/mlx5/cq.h +++ b/include/linux/mlx5/cq.h @@ -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);