]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
IB/hfi1,IB/qib: use rvt swqe mr deref helper
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Thu, 8 Dec 2016 03:34:31 +0000 (19:34 -0800)
committerDoug Ledford <dledford@redhat.com>
Sun, 11 Dec 2016 20:29:42 +0000 (15:29 -0500)
Convert to use new swqe put routine.

Reviewed-by: Brian Welty <brian.welty@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/rc.c
drivers/infiniband/hw/hfi1/ruc.c
drivers/infiniband/hw/qib/qib_rc.c
drivers/infiniband/hw/qib/qib_ruc.c

index 3df1c06505716dcde042b196aae29221504de25f..ddc02237e5f6d0686251383d98e1656172232a06 100644 (file)
@@ -1146,7 +1146,6 @@ void hfi1_rc_send_complete(struct rvt_qp *qp, struct ib_header *hdr)
 {
        struct ib_other_headers *ohdr;
        struct rvt_swqe *wqe;
-       unsigned i;
        u32 opcode;
        u32 psn;
 
@@ -1194,11 +1193,7 @@ void hfi1_rc_send_complete(struct rvt_qp *qp, struct ib_header *hdr)
                qp->s_last = s_last;
                /* see post_send() */
                barrier();
-               for (i = 0; i < wqe->wr.num_sge; i++) {
-                       struct rvt_sge *sge = &wqe->sg_list[i];
-
-                       rvt_put_mr(sge->mr);
-               }
+               rvt_put_swqe(wqe);
                rvt_qp_swqe_complete(qp, wqe, IB_WC_SUCCESS);
        }
        /*
@@ -1229,8 +1224,6 @@ static struct rvt_swqe *do_rc_completion(struct rvt_qp *qp,
                                         struct rvt_swqe *wqe,
                                         struct hfi1_ibport *ibp)
 {
-       unsigned i;
-
        lockdep_assert_held(&qp->s_lock);
        /*
         * Don't decrement refcount and don't generate a
@@ -1241,11 +1234,7 @@ static struct rvt_swqe *do_rc_completion(struct rvt_qp *qp,
            cmp_psn(qp->s_sending_psn, qp->s_sending_hpsn) > 0) {
                u32 s_last;
 
-               for (i = 0; i < wqe->wr.num_sge; i++) {
-                       struct rvt_sge *sge = &wqe->sg_list[i];
-
-                       rvt_put_mr(sge->mr);
-               }
+               rvt_put_swqe(wqe);
                s_last = qp->s_last;
                if (++s_last >= qp->s_size)
                        s_last = 0;
index 03c89315f1c71f441adfa7e1ba5969029a49bd2a..717ed4b159d3df57c499345f9460171329174c72 100644 (file)
@@ -942,7 +942,6 @@ void hfi1_send_complete(struct rvt_qp *qp, struct rvt_swqe *wqe,
                        enum ib_wc_status status)
 {
        u32 old_last, last;
-       unsigned i;
 
        if (!(ib_rvt_state_ops[qp->state] & RVT_PROCESS_OR_FLUSH_SEND))
                return;
@@ -954,11 +953,7 @@ void hfi1_send_complete(struct rvt_qp *qp, struct rvt_swqe *wqe,
        qp->s_last = last;
        /* See post_send() */
        barrier();
-       for (i = 0; i < wqe->wr.num_sge; i++) {
-               struct rvt_sge *sge = &wqe->sg_list[i];
-
-               rvt_put_mr(sge->mr);
-       }
+       rvt_put_swqe(wqe);
        if (qp->ibqp.qp_type == IB_QPT_UD ||
            qp->ibqp.qp_type == IB_QPT_SMI ||
            qp->ibqp.qp_type == IB_QPT_GSI)
index d549905147304d5fcdc734581f180d6aa5a7e4f6..e23ee6ce435a24f0ca11d9d738e2e4a789501d8a 100644 (file)
@@ -941,7 +941,6 @@ void qib_rc_send_complete(struct rvt_qp *qp, struct ib_header *hdr)
 {
        struct ib_other_headers *ohdr;
        struct rvt_swqe *wqe;
-       unsigned i;
        u32 opcode;
        u32 psn;
 
@@ -987,11 +986,7 @@ void qib_rc_send_complete(struct rvt_qp *qp, struct ib_header *hdr)
                qp->s_last = s_last;
                /* see post_send() */
                barrier();
-               for (i = 0; i < wqe->wr.num_sge; i++) {
-                       struct rvt_sge *sge = &wqe->sg_list[i];
-
-                       rvt_put_mr(sge->mr);
-               }
+               rvt_put_swqe(wqe);
                rvt_qp_swqe_complete(qp, wqe, IB_WC_SUCCESS);
        }
        /*
@@ -1021,8 +1016,6 @@ static struct rvt_swqe *do_rc_completion(struct rvt_qp *qp,
                                         struct rvt_swqe *wqe,
                                         struct qib_ibport *ibp)
 {
-       unsigned i;
-
        /*
         * Don't decrement refcount and don't generate a
         * completion if the SWQE is being resent until the send
@@ -1032,11 +1025,7 @@ static struct rvt_swqe *do_rc_completion(struct rvt_qp *qp,
            qib_cmp24(qp->s_sending_psn, qp->s_sending_hpsn) > 0) {
                u32 s_last;
 
-               for (i = 0; i < wqe->wr.num_sge; i++) {
-                       struct rvt_sge *sge = &wqe->sg_list[i];
-
-                       rvt_put_mr(sge->mr);
-               }
+               rvt_put_swqe(wqe);
                s_last = qp->s_last;
                if (++s_last >= qp->s_size)
                        s_last = 0;
index 87e3eb5a836b4dccbfee4604ab239573e8cd0be6..e54a2feeeb107d27ce5235037932a2a3c34283a3 100644 (file)
@@ -793,7 +793,6 @@ void qib_send_complete(struct rvt_qp *qp, struct rvt_swqe *wqe,
                       enum ib_wc_status status)
 {
        u32 old_last, last;
-       unsigned i;
 
        if (!(ib_rvt_state_ops[qp->state] & RVT_PROCESS_OR_FLUSH_SEND))
                return;
@@ -805,11 +804,7 @@ void qib_send_complete(struct rvt_qp *qp, struct rvt_swqe *wqe,
        qp->s_last = last;
        /* See post_send() */
        barrier();
-       for (i = 0; i < wqe->wr.num_sge; i++) {
-               struct rvt_sge *sge = &wqe->sg_list[i];
-
-               rvt_put_mr(sge->mr);
-       }
+       rvt_put_swqe(wqe);
        if (qp->ibqp.qp_type == IB_QPT_UD ||
            qp->ibqp.qp_type == IB_QPT_SMI ||
            qp->ibqp.qp_type == IB_QPT_GSI)