Version: 1
-Previous: 54d528eaf74183c44350868171c616e43f6f41f6
-Head: 053b48ca7beab4dad63b6a4e6cf568f2e1f1a87c
+Previous: e814ad62397a287e28614a9a0c7b99568306c219
+Head: f5a41da8c5488903f7c57cec220f9392c70b19f2
Applied:
verbs-ext: 6fbf2b29ca68fc10b7ee47dc0c09f54db0b32320
compat-ex: fb8aa3e0b8ed628564d7d774907fd17a72a23522
xrcd: 71fa003681345f671bdef05c9548263252e949de
srq_ex: 9e07c52086ff8e05c188591e97d5548d3dfc0578
xrc_qp: 053b48ca7beab4dad63b6a4e6cf568f2e1f1a87c
+ refresh-temp: f5a41da8c5488903f7c57cec220f9392c70b19f2
Unapplied:
Hidden:
--- /dev/null
+Bottom: d98e2546482ad10f245503b04e53054423653799
+Top: 9c2b52f1e75751f97c137267b355fc252083ca0b
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2012-09-17 16:13:50 -0700
+
+Refresh of xrc_qp
+
+---
+
+diff --git a/include/infiniband/kern-abi.h b/include/infiniband/kern-abi.h
+index 3d72fa7..b6d5ce9 100644
+--- a/include/infiniband/kern-abi.h
++++ b/include/infiniband/kern-abi.h
+@@ -617,6 +617,11 @@ struct ibv_kern_send_wr {
+ __u32 remote_qkey;
+ __u32 reserved;
+ } ud;
++ struct {
++ __u64 reserved[3];
++ __u32 reserved2;
++ __u32 remote_srqn;
++ } xrc;
+ } wr;
+ };
+
+diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h
+index 58d6927..1d03c4b 100644
+--- a/include/infiniband/verbs.h
++++ b/include/infiniband/verbs.h
+@@ -462,7 +462,9 @@ struct ibv_srq_init_attr_ex {
+ enum ibv_qp_type {
+ IBV_QPT_RC = 2,
+ IBV_QPT_UC,
+- IBV_QPT_UD
++ IBV_QPT_UD,
++ IBV_QPT_XRC_SEND = 9,
++ IBV_QPT_XRC_RECV
+ };
+
+ struct ibv_qp_cap {
+@@ -483,6 +485,24 @@ struct ibv_qp_init_attr {
+ int sq_sig_all;
+ };
+
++enum ibv_qp_init_attr_mask {
++ IBV_QP_INIT_ATTR_XRCD = 1 << 0,
++ IBV_QP_INIT_ATTR_RESERVED = 1 << 1
++};
++
++struct ibv_qp_init_attr_ex {
++ void *qp_context;
++ struct ibv_cq *send_cq;
++ struct ibv_cq *recv_cq;
++ struct ibv_srq *srq;
++ struct ibv_qp_cap cap;
++ enum ibv_qp_type qp_type;
++ int sq_sig_all;
++
++ uint64_t comp_mask;
++ struct ibv_xrcd *xrcd;
++};
++
+ enum ibv_qp_attr_mask {
+ IBV_QP_STATE = 1 << 0,
+ IBV_QP_CUR_STATE = 1 << 1,
+@@ -598,6 +618,11 @@ struct ibv_send_wr {
+ uint32_t remote_qpn;
+ uint32_t remote_qkey;
+ } ud;
++ struct {
++ uint64_t reserved[3];
++ uint32_t reserved2;
++ uint32_t remote_srqn;
++ };
+ } wr;
+ };
+
+@@ -642,8 +667,11 @@ struct ibv_srq {
+ uint32_t srq_num;
+ };
+
++// set device xrc support
++//XXX TO DO: check mask for all calls
+ enum ibv_qp_mask {
+- IBV_QP_RESERVED = 1 << 0
++ IBV_QP_XRCD = 1 << 0,
++ IBV_QP_RESERVED = 1 << 1
+ };
+
+ struct ibv_qp {