diff options
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_cm.c | 2 | ||||
-rw-r--r-- | drivers/infiniband/hw/nes/nes_user.h | 5 | ||||
-rw-r--r-- | drivers/infiniband/hw/nes/nes_verbs.c | 2 | ||||
-rw-r--r-- | drivers/infiniband/hw/nes/nes_verbs.h | 1 |
4 files changed, 7 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index e852a3a42b9e..dfa9df484505 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c | |||
@@ -657,7 +657,7 @@ static void build_rdma0_msg(struct nes_cm_node *cm_node, struct nes_qp **nesqp_a | |||
657 | struct nes_qp *nesqp = *nesqp_addr; | 657 | struct nes_qp *nesqp = *nesqp_addr; |
658 | struct nes_hw_qp_wqe *wqe = &nesqp->hwqp.sq_vbase[0]; | 658 | struct nes_hw_qp_wqe *wqe = &nesqp->hwqp.sq_vbase[0]; |
659 | 659 | ||
660 | u64temp = (unsigned long)nesqp; | 660 | u64temp = (unsigned long)nesqp->nesuqp_addr; |
661 | u64temp |= NES_SW_CONTEXT_ALIGN >> 1; | 661 | u64temp |= NES_SW_CONTEXT_ALIGN >> 1; |
662 | set_wqe_64bit_value(wqe->wqe_words, NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX, u64temp); | 662 | set_wqe_64bit_value(wqe->wqe_words, NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX, u64temp); |
663 | 663 | ||
diff --git a/drivers/infiniband/hw/nes/nes_user.h b/drivers/infiniband/hw/nes/nes_user.h index 4926de744488..529c421bb15c 100644 --- a/drivers/infiniband/hw/nes/nes_user.h +++ b/drivers/infiniband/hw/nes/nes_user.h | |||
@@ -39,8 +39,8 @@ | |||
39 | 39 | ||
40 | #include <linux/types.h> | 40 | #include <linux/types.h> |
41 | 41 | ||
42 | #define NES_ABI_USERSPACE_VER 1 | 42 | #define NES_ABI_USERSPACE_VER 2 |
43 | #define NES_ABI_KERNEL_VER 1 | 43 | #define NES_ABI_KERNEL_VER 2 |
44 | 44 | ||
45 | /* | 45 | /* |
46 | * Make sure that all structs defined in this file remain laid out so | 46 | * Make sure that all structs defined in this file remain laid out so |
@@ -78,6 +78,7 @@ struct nes_create_cq_req { | |||
78 | 78 | ||
79 | struct nes_create_qp_req { | 79 | struct nes_create_qp_req { |
80 | __u64 user_wqe_buffers; | 80 | __u64 user_wqe_buffers; |
81 | __u64 user_qp_buffer; | ||
81 | }; | 82 | }; |
82 | 83 | ||
83 | enum iwnes_memreg_type { | 84 | enum iwnes_memreg_type { |
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c index 8308e3634767..797d8876d948 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c | |||
@@ -1191,6 +1191,8 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd, | |||
1191 | if (req.user_wqe_buffers) { | 1191 | if (req.user_wqe_buffers) { |
1192 | virt_wqs = 1; | 1192 | virt_wqs = 1; |
1193 | } | 1193 | } |
1194 | if (req.user_qp_buffer) | ||
1195 | nesqp->nesuqp_addr = req.user_qp_buffer; | ||
1194 | if ((ibpd->uobject) && (ibpd->uobject->context)) { | 1196 | if ((ibpd->uobject) && (ibpd->uobject->context)) { |
1195 | nesqp->user_mode = 1; | 1197 | nesqp->user_mode = 1; |
1196 | nes_ucontext = to_nesucontext(ibpd->uobject->context); | 1198 | nes_ucontext = to_nesucontext(ibpd->uobject->context); |
diff --git a/drivers/infiniband/hw/nes/nes_verbs.h b/drivers/infiniband/hw/nes/nes_verbs.h index 0eff7c44d76b..309b31c31ae1 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.h +++ b/drivers/infiniband/hw/nes/nes_verbs.h | |||
@@ -184,5 +184,6 @@ struct nes_qp { | |||
184 | u8 pau_busy; | 184 | u8 pau_busy; |
185 | u8 pau_pending; | 185 | u8 pau_pending; |
186 | u8 pau_state; | 186 | u8 pau_state; |
187 | __u64 nesuqp_addr; | ||
187 | }; | 188 | }; |
188 | #endif /* NES_VERBS_H */ | 189 | #endif /* NES_VERBS_H */ |