aboutsummaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/qedr/qedr_hsi_rdma.h
diff options
context:
space:
mode:
authorYuval Bason <yuval.bason@cavium.com>2018-08-09 17:29:37 +0300
committerJason Gunthorpe <jgg@mellanox.com>2018-08-14 16:31:54 -0600
commit3491c9e799fb96d909f22f3b39d8cca81e75c3a9 (patch)
tree139c3b0293891fcfe02bfbcfd02b5e45852385e8 /drivers/infiniband/hw/qedr/qedr_hsi_rdma.h
parent1212767e23bbaba164cc7ea3a64115b3ae335063 (diff)
qedr: Add support for kernel mode SRQ's
Implement the SRQ specific verbs and update the poll_cq verb to deal with SRQ completions. Signed-off-by: Michal Kalderon <michal.kalderon@cavium.com> Signed-off-by: Yuval Bason <yuval.bason@cavium.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/qedr/qedr_hsi_rdma.h')
-rw-r--r--drivers/infiniband/hw/qedr/qedr_hsi_rdma.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/qedr/qedr_hsi_rdma.h b/drivers/infiniband/hw/qedr/qedr_hsi_rdma.h
index 7e1f7021396a..228dd7d49622 100644
--- a/drivers/infiniband/hw/qedr/qedr_hsi_rdma.h
+++ b/drivers/infiniband/hw/qedr/qedr_hsi_rdma.h
@@ -161,12 +161,23 @@ struct rdma_rq_sge {
#define RDMA_RQ_SGE_L_KEY_HI_SHIFT 29
};
+struct rdma_srq_wqe_header {
+ struct regpair wr_id;
+ u8 num_sges /* number of SGEs in WQE */;
+ u8 reserved2[7];
+};
+
struct rdma_srq_sge {
struct regpair addr;
__le32 length;
__le32 l_key;
};
+union rdma_srq_elm {
+ struct rdma_srq_wqe_header header;
+ struct rdma_srq_sge sge;
+};
+
/* Rdma doorbell data for flags update */
struct rdma_pwm_flags_data {
__le16 icid; /* internal CID */