summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/qedr/qedr.h
diff options
context:
space:
mode:
authorKalderon, Michal <Michal.Kalderon@cavium.com>2017-07-26 14:41:55 +0300
committerDoug Ledford <dledford@redhat.com>2017-08-18 19:26:38 +0300
commitde0089e692a92ce5180eec6a79f1f79153e3c669 (patch)
treefecb49ed3138f2ebf5cac74f3626578e07858bd2 /drivers/infiniband/hw/qedr/qedr.h
parentfb1a22be9d32675ba140a4e1438e5e52c6d5694e (diff)
downloadlinux-de0089e692a92ce5180eec6a79f1f79153e3c669.tar.xz
RDMA/qedr: Add iWARP connection management qp related callbacks
This patch implements the following iWARP callbacks: qp_add_ref qp_rem_ref get_qp Signed-off-by: Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by: Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/qedr/qedr.h')
-rw-r--r--drivers/infiniband/hw/qedr/qedr.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qedr/qedr.h b/drivers/infiniband/hw/qedr/qedr.h
index 0c0a39ad297b..5dd82d1651be 100644
--- a/drivers/infiniband/hw/qedr/qedr.h
+++ b/drivers/infiniband/hw/qedr/qedr.h
@@ -33,6 +33,7 @@
#define __QEDR_H__
#include <linux/pci.h>
+#include <linux/idr.h>
#include <rdma/ib_addr.h>
#include <linux/qed/qed_if.h>
#include <linux/qed/qed_chain.h>
@@ -164,7 +165,8 @@ struct qedr_dev {
struct qedr_cq *gsi_rqcq;
struct qedr_qp *gsi_qp;
enum qed_rdma_type rdma_type;
-
+ spinlock_t idr_lock; /* Protect qpidr data-structure */
+ struct idr qpidr;
unsigned long enet_state;
};
@@ -399,6 +401,7 @@ struct qedr_qp {
/* Relevant to qps created from user space only (applications) */
struct qedr_userq usq;
struct qedr_userq urq;
+ atomic_t refcnt;
};
struct qedr_ah {