aboutsummaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
diff options
context:
space:
mode:
authorNaresh Gottumukkala <bgottumukkala@emulex.com>2013-08-26 15:27:39 +0530
committerRoland Dreier <roland@purestorage.com>2013-09-02 21:17:48 -0700
commit7c33880c3cb2cda816d4d64852c6a81018b9bc1f (patch)
tree517ab6a470642f8c07f59a7eb734c58cecf80c10 /drivers/infiniband/hw/ocrdma/ocrdma_sli.h
parent43a6b4025c79ded5b44e58ba0db97c29dd38d718 (diff)
RDMA/ocrdma: Add support for fast register work requests (FRWR)
Also get the max_srq value from query_config mailbox response. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/ocrdma/ocrdma_sli.h')
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_sli.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_sli.h b/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
index 0184009060db..6cf5a96f38c6 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
@@ -91,6 +91,7 @@ enum {
#define OCRDMA_MAX_QP 2048
#define OCRDMA_MAX_CQ 2048
+#define OCRDMA_MAX_STAG 2048
enum {
OCRDMA_DB_RQ_OFFSET = 0xE0,
@@ -1564,6 +1565,7 @@ enum OCRDMA_WQE_OPCODE {
OCRDMA_SEND = 0x00,
OCRDMA_CMP_SWP = 0x14,
OCRDMA_BIND_MW = 0x10,
+ OCRDMA_FR_MR = 0x11,
OCRDMA_RESV1 = 0x0A,
OCRDMA_LKEY_INV = 0x15,
OCRDMA_FETCH_ADD = 0x13,
@@ -1610,6 +1612,23 @@ struct ocrdma_ewqe_ud_hdr {
u32 rsvd;
};
+#define OCRDMA_MAX_FR_PBES 11
+struct ocrdma_fr_pbe {
+ u32 pa_hi;
+ u32 pa_lo;
+};
+
+/* extended wqe followed by hdr_wqe for Fast Memory register */
+struct ocrdma_ewqe_fr {
+ u32 va_hi;
+ u32 va_lo;
+ u32 fbo_hi;
+ u32 fbo_lo;
+ u32 size_sge;
+ u32 num_sges;
+ struct ocrdma_fr_pbe pbe[0];
+};
+
struct ocrdma_eth_basic {
u8 dmac[6];
u8 smac[6];