]> git.openfabrics.org - compat-rdma/compat-rdma.git/commitdiff
bnxt_re: Disable atomics support
authorSelvin Xavier <selvin.xavier@broadcom.com>
Wed, 28 Feb 2018 17:52:52 +0000 (09:52 -0800)
committerSelvin Xavier <selvin.xavier@broadcom.com>
Wed, 28 Feb 2018 18:57:43 +0000 (10:57 -0800)
More testing needs to be done before enabling this feature.
Disabling the feature temporarily.

Bug: 2678
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
linux-next-pending/0020-RDMA-bnxt_re-Disable-atomic-capability-on-bnxt_re-ad.patch [new file with mode: 0644]

diff --git a/linux-next-pending/0020-RDMA-bnxt_re-Disable-atomic-capability-on-bnxt_re-ad.patch b/linux-next-pending/0020-RDMA-bnxt_re-Disable-atomic-capability-on-bnxt_re-ad.patch
new file mode 100644 (file)
index 0000000..c2117c2
--- /dev/null
@@ -0,0 +1,68 @@
+From 010ed1ac0e3407841bc09d08bf3c0d7c639e5dcc Mon Sep 17 00:00:00 2001
+From: Devesh Sharma <devesh.sharma@broadcom.com>
+Date: Thu, 15 Feb 2018 21:20:08 -0800
+Subject: [PATCH 1/8] RDMA/bnxt_re: Disable atomic capability on bnxt_re
+ adapters
+
+More testing needs to be done before enabling this feature.
+Disabling the feature temporarily
+
+Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
+Signed-off-by: Doug Ledford <dledford@redhat.com>
+---
+ drivers/infiniband/hw/bnxt_re/ib_verbs.c |  6 ++----
+ drivers/infiniband/hw/bnxt_re/qplib_sp.c | 14 +-------------
+ 2 files changed, 3 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+index 88b4f2c..daa3fd1 100644
+--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
++++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+@@ -173,10 +173,8 @@ int bnxt_re_query_device(struct ib_device *ibdev,
+       ib_attr->max_pd = dev_attr->max_pd;
+       ib_attr->max_qp_rd_atom = dev_attr->max_qp_rd_atom;
+       ib_attr->max_qp_init_rd_atom = dev_attr->max_qp_init_rd_atom;
+-      if (dev_attr->is_atomic) {
+-              ib_attr->atomic_cap = IB_ATOMIC_HCA;
+-              ib_attr->masked_atomic_cap = IB_ATOMIC_HCA;
+-      }
++      ib_attr->atomic_cap = IB_ATOMIC_NONE;
++      ib_attr->masked_atomic_cap = IB_ATOMIC_NONE;
+       ib_attr->max_ee_rd_atom = 0;
+       ib_attr->max_res_rd_atom = 0;
+diff --git a/drivers/infiniband/hw/bnxt_re/qplib_sp.c b/drivers/infiniband/hw/bnxt_re/qplib_sp.c
+index e277e54..7ce1d2b 100644
+--- a/drivers/infiniband/hw/bnxt_re/qplib_sp.c
++++ b/drivers/infiniband/hw/bnxt_re/qplib_sp.c
+@@ -52,18 +52,6 @@ const struct bnxt_qplib_gid bnxt_qplib_gid_zero = {{ 0, 0, 0, 0, 0, 0, 0, 0,
+ /* Device */
+-static bool bnxt_qplib_is_atomic_cap(struct bnxt_qplib_rcfw *rcfw)
+-{
+-      int rc;
+-      u16 pcie_ctl2;
+-
+-      rc = pcie_capability_read_word(rcfw->pdev, PCI_EXP_DEVCTL2,
+-                                     &pcie_ctl2);
+-      if (rc)
+-              return false;
+-      return !!(pcie_ctl2 & PCI_EXP_DEVCTL2_ATOMIC_REQ);
+-}
+-
+ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw,
+                           struct bnxt_qplib_dev_attr *attr)
+ {
+@@ -144,7 +132,7 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw,
+               attr->tqm_alloc_reqs[i * 4 + 3] = *(++tqm_alloc);
+       }
+-      attr->is_atomic = bnxt_qplib_is_atomic_cap(rcfw);
++      attr->is_atomic = 0;
+ bail:
+       bnxt_qplib_rcfw_free_sbuf(rcfw, sbuf);
+       return rc;
+-- 
+1.8.3.1
+