]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
IB/core: Use rdma_ah_attr accessor functions
[karo-tx-linux.git] / drivers / infiniband / hw / ocrdma / ocrdma_verbs.c
index c57e387b55a24690b025dce17332786a77bba40c..caec48c6e1ecde0b966c97456c082e989f34bd28 100644 (file)
@@ -1598,23 +1598,23 @@ int ocrdma_query_qp(struct ib_qp *ibqp,
        qp_attr->cap.max_recv_sge = qp->rq.max_sges;
        qp_attr->cap.max_inline_data = qp->max_inline_data;
        qp_init_attr->cap = qp_attr->cap;
-       memcpy(&qp_attr->ah_attr.grh.dgid, &params.dgid[0],
-              sizeof(params.dgid));
-       qp_attr->ah_attr.grh.flow_label = params.rnt_rc_sl_fl &
-           OCRDMA_QP_PARAMS_FLOW_LABEL_MASK;
-       qp_attr->ah_attr.grh.sgid_index = qp->sgid_idx;
-       qp_attr->ah_attr.grh.hop_limit = (params.hop_lmt_rq_psn &
-                                         OCRDMA_QP_PARAMS_HOP_LMT_MASK) >>
-                                               OCRDMA_QP_PARAMS_HOP_LMT_SHIFT;
-       qp_attr->ah_attr.grh.traffic_class = (params.tclass_sq_psn &
-                                             OCRDMA_QP_PARAMS_TCLASS_MASK) >>
-                                               OCRDMA_QP_PARAMS_TCLASS_SHIFT;
-
-       qp_attr->ah_attr.ah_flags = IB_AH_GRH;
-       qp_attr->ah_attr.port_num = 1;
-       qp_attr->ah_attr.sl = (params.rnt_rc_sl_fl &
-                              OCRDMA_QP_PARAMS_SL_MASK) >>
-                               OCRDMA_QP_PARAMS_SL_SHIFT;
+
+       rdma_ah_set_grh(&qp_attr->ah_attr, NULL,
+                       params.rnt_rc_sl_fl &
+                         OCRDMA_QP_PARAMS_FLOW_LABEL_MASK,
+                       qp->sgid_idx,
+                       (params.hop_lmt_rq_psn &
+                        OCRDMA_QP_PARAMS_HOP_LMT_MASK) >>
+                        OCRDMA_QP_PARAMS_HOP_LMT_SHIFT,
+                       (params.tclass_sq_psn &
+                        OCRDMA_QP_PARAMS_TCLASS_MASK) >>
+                        OCRDMA_QP_PARAMS_TCLASS_SHIFT);
+       rdma_ah_set_dgid_raw(&qp_attr->ah_attr, &params.dgid[0]);
+
+       rdma_ah_set_port_num(&qp_attr->ah_attr, 1);
+       rdma_ah_set_sl(&qp_attr->ah_attr, (params.rnt_rc_sl_fl &
+                                          OCRDMA_QP_PARAMS_SL_MASK) >>
+                                          OCRDMA_QP_PARAMS_SL_SHIFT);
        qp_attr->timeout = (params.ack_to_rnr_rtc_dest_qpn &
                            OCRDMA_QP_PARAMS_ACK_TIMEOUT_MASK) >>
                                OCRDMA_QP_PARAMS_ACK_TIMEOUT_SHIFT;
@@ -1627,8 +1627,8 @@ int ocrdma_query_qp(struct ib_qp *ibqp,
        qp_attr->min_rnr_timer = 0;
        qp_attr->pkey_index = 0;
        qp_attr->port_num = 1;
-       qp_attr->ah_attr.src_path_bits = 0;
-       qp_attr->ah_attr.static_rate = 0;
+       rdma_ah_set_path_bits(&qp_attr->ah_attr, 0);
+       rdma_ah_set_static_rate(&qp_attr->ah_attr, 0);
        qp_attr->alt_pkey_index = 0;
        qp_attr->alt_port_num = 0;
        qp_attr->alt_timeout = 0;