diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-07 16:33:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-07 16:33:07 -0500 |
commit | ab9f2faf8f40604551336e5b0a18e0910a57b92c (patch) | |
tree | 9068c73acf24452762d6e2b096df19e29436183e /drivers/infiniband/hw/qib/qib_ruc.c | |
parent | 75021d28594d9b6fb4d05bbc41f77948a0db0e02 (diff) | |
parent | db7489e07669073970358b6cacf6a9dd8dc9275e (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
Pull rdma updates from Doug Ledford:
"This is my initial round of 4.4 merge window patches. There are a few
other things I wish to get in for 4.4 that aren't in this pull, as
this represents what has gone through merge/build/run testing and not
what is the last few items for which testing is not yet complete.
- "Checksum offload support in user space" enablement
- Misc cxgb4 fixes, add T6 support
- Misc usnic fixes
- 32 bit build warning fixes
- Misc ocrdma fixes
- Multicast loopback prevention extension
- Extend the GID cache to store and return attributes of GIDs
- Misc iSER updates
- iSER clustering update
- Network NameSpace support for rdma CM
- Work Request cleanup series
- New Memory Registration API"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (76 commits)
IB/core, cma: Make __attribute_const__ declarations sparse-friendly
IB/core: Remove old fast registration API
IB/ipath: Remove fast registration from the code
IB/hfi1: Remove fast registration from the code
RDMA/nes: Remove old FRWR API
IB/qib: Remove old FRWR API
iw_cxgb4: Remove old FRWR API
RDMA/cxgb3: Remove old FRWR API
RDMA/ocrdma: Remove old FRWR API
IB/mlx4: Remove old FRWR API support
IB/mlx5: Remove old FRWR API support
IB/srp: Dont allocate a page vector when using fast_reg
IB/srp: Remove srp_finish_mapping
IB/srp: Convert to new registration API
IB/srp: Split srp_map_sg
RDS/IW: Convert to new memory registration API
svcrdma: Port to new memory registration API
xprtrdma: Port to new memory registration API
iser-target: Port to new memory registration API
IB/iser: Port to new fast registration API
...
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_ruc.c')
-rw-r--r-- | drivers/infiniband/hw/qib/qib_ruc.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/infiniband/hw/qib/qib_ruc.c b/drivers/infiniband/hw/qib/qib_ruc.c index 22e356ca8058..b1aa21bdd484 100644 --- a/drivers/infiniband/hw/qib/qib_ruc.c +++ b/drivers/infiniband/hw/qib/qib_ruc.c | |||
@@ -459,8 +459,8 @@ again: | |||
459 | if (wqe->length == 0) | 459 | if (wqe->length == 0) |
460 | break; | 460 | break; |
461 | if (unlikely(!qib_rkey_ok(qp, &qp->r_sge.sge, wqe->length, | 461 | if (unlikely(!qib_rkey_ok(qp, &qp->r_sge.sge, wqe->length, |
462 | wqe->wr.wr.rdma.remote_addr, | 462 | wqe->rdma_wr.remote_addr, |
463 | wqe->wr.wr.rdma.rkey, | 463 | wqe->rdma_wr.rkey, |
464 | IB_ACCESS_REMOTE_WRITE))) | 464 | IB_ACCESS_REMOTE_WRITE))) |
465 | goto acc_err; | 465 | goto acc_err; |
466 | qp->r_sge.sg_list = NULL; | 466 | qp->r_sge.sg_list = NULL; |
@@ -472,8 +472,8 @@ again: | |||
472 | if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_READ))) | 472 | if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_READ))) |
473 | goto inv_err; | 473 | goto inv_err; |
474 | if (unlikely(!qib_rkey_ok(qp, &sqp->s_sge.sge, wqe->length, | 474 | if (unlikely(!qib_rkey_ok(qp, &sqp->s_sge.sge, wqe->length, |
475 | wqe->wr.wr.rdma.remote_addr, | 475 | wqe->rdma_wr.remote_addr, |
476 | wqe->wr.wr.rdma.rkey, | 476 | wqe->rdma_wr.rkey, |
477 | IB_ACCESS_REMOTE_READ))) | 477 | IB_ACCESS_REMOTE_READ))) |
478 | goto acc_err; | 478 | goto acc_err; |
479 | release = 0; | 479 | release = 0; |
@@ -490,18 +490,18 @@ again: | |||
490 | if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_ATOMIC))) | 490 | if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_ATOMIC))) |
491 | goto inv_err; | 491 | goto inv_err; |
492 | if (unlikely(!qib_rkey_ok(qp, &qp->r_sge.sge, sizeof(u64), | 492 | if (unlikely(!qib_rkey_ok(qp, &qp->r_sge.sge, sizeof(u64), |
493 | wqe->wr.wr.atomic.remote_addr, | 493 | wqe->atomic_wr.remote_addr, |
494 | wqe->wr.wr.atomic.rkey, | 494 | wqe->atomic_wr.rkey, |
495 | IB_ACCESS_REMOTE_ATOMIC))) | 495 | IB_ACCESS_REMOTE_ATOMIC))) |
496 | goto acc_err; | 496 | goto acc_err; |
497 | /* Perform atomic OP and save result. */ | 497 | /* Perform atomic OP and save result. */ |
498 | maddr = (atomic64_t *) qp->r_sge.sge.vaddr; | 498 | maddr = (atomic64_t *) qp->r_sge.sge.vaddr; |
499 | sdata = wqe->wr.wr.atomic.compare_add; | 499 | sdata = wqe->atomic_wr.compare_add; |
500 | *(u64 *) sqp->s_sge.sge.vaddr = | 500 | *(u64 *) sqp->s_sge.sge.vaddr = |
501 | (wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) ? | 501 | (wqe->atomic_wr.wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) ? |
502 | (u64) atomic64_add_return(sdata, maddr) - sdata : | 502 | (u64) atomic64_add_return(sdata, maddr) - sdata : |
503 | (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, | 503 | (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, |
504 | sdata, wqe->wr.wr.atomic.swap); | 504 | sdata, wqe->atomic_wr.swap); |
505 | qib_put_mr(qp->r_sge.sge.mr); | 505 | qib_put_mr(qp->r_sge.sge.mr); |
506 | qp->r_sge.num_sge = 0; | 506 | qp->r_sge.num_sge = 0; |
507 | goto send_comp; | 507 | goto send_comp; |
@@ -785,7 +785,7 @@ void qib_send_complete(struct qib_qp *qp, struct qib_swqe *wqe, | |||
785 | if (qp->ibqp.qp_type == IB_QPT_UD || | 785 | if (qp->ibqp.qp_type == IB_QPT_UD || |
786 | qp->ibqp.qp_type == IB_QPT_SMI || | 786 | qp->ibqp.qp_type == IB_QPT_SMI || |
787 | qp->ibqp.qp_type == IB_QPT_GSI) | 787 | qp->ibqp.qp_type == IB_QPT_GSI) |
788 | atomic_dec(&to_iah(wqe->wr.wr.ud.ah)->refcount); | 788 | atomic_dec(&to_iah(wqe->ud_wr.ah)->refcount); |
789 | 789 | ||
790 | /* See ch. 11.2.4.1 and 10.7.3.1 */ | 790 | /* See ch. 11.2.4.1 and 10.7.3.1 */ |
791 | if (!(qp->s_flags & QIB_S_SIGNAL_REQ_WR) || | 791 | if (!(qp->s_flags & QIB_S_SIGNAL_REQ_WR) || |