|
@@ -1740,13 +1740,8 @@ int mthca_tavor_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
- ((struct mthca_data_seg *) wqe)->byte_count =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].length);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->lkey =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].lkey);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->addr =
|
|
|
|
- cpu_to_be64(wr->sg_list[i].addr);
|
|
|
|
- wqe += sizeof (struct mthca_data_seg);
|
|
|
|
|
|
+ mthca_set_data_seg(wqe, wr->sg_list + i);
|
|
|
|
+ wqe += sizeof (struct mthca_data_seg);
|
|
size += sizeof (struct mthca_data_seg) / 16;
|
|
size += sizeof (struct mthca_data_seg) / 16;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1869,13 +1864,8 @@ int mthca_tavor_post_receive(struct ib_qp *ibqp, struct ib_recv_wr *wr,
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
- ((struct mthca_data_seg *) wqe)->byte_count =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].length);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->lkey =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].lkey);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->addr =
|
|
|
|
- cpu_to_be64(wr->sg_list[i].addr);
|
|
|
|
- wqe += sizeof (struct mthca_data_seg);
|
|
|
|
|
|
+ mthca_set_data_seg(wqe, wr->sg_list + i);
|
|
|
|
+ wqe += sizeof (struct mthca_data_seg);
|
|
size += sizeof (struct mthca_data_seg) / 16;
|
|
size += sizeof (struct mthca_data_seg) / 16;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2125,13 +2115,8 @@ int mthca_arbel_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
- ((struct mthca_data_seg *) wqe)->byte_count =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].length);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->lkey =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].lkey);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->addr =
|
|
|
|
- cpu_to_be64(wr->sg_list[i].addr);
|
|
|
|
- wqe += sizeof (struct mthca_data_seg);
|
|
|
|
|
|
+ mthca_set_data_seg(wqe, wr->sg_list + i);
|
|
|
|
+ wqe += sizeof (struct mthca_data_seg);
|
|
size += sizeof (struct mthca_data_seg) / 16;
|
|
size += sizeof (struct mthca_data_seg) / 16;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2253,20 +2238,12 @@ int mthca_arbel_post_receive(struct ib_qp *ibqp, struct ib_recv_wr *wr,
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
for (i = 0; i < wr->num_sge; ++i) {
|
|
- ((struct mthca_data_seg *) wqe)->byte_count =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].length);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->lkey =
|
|
|
|
- cpu_to_be32(wr->sg_list[i].lkey);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->addr =
|
|
|
|
- cpu_to_be64(wr->sg_list[i].addr);
|
|
|
|
|
|
+ mthca_set_data_seg(wqe, wr->sg_list + i);
|
|
wqe += sizeof (struct mthca_data_seg);
|
|
wqe += sizeof (struct mthca_data_seg);
|
|
}
|
|
}
|
|
|
|
|
|
- if (i < qp->rq.max_gs) {
|
|
|
|
- ((struct mthca_data_seg *) wqe)->byte_count = 0;
|
|
|
|
- ((struct mthca_data_seg *) wqe)->lkey = cpu_to_be32(MTHCA_INVAL_LKEY);
|
|
|
|
- ((struct mthca_data_seg *) wqe)->addr = 0;
|
|
|
|
- }
|
|
|
|
|
|
+ if (i < qp->rq.max_gs)
|
|
|
|
+ mthca_set_data_seg_inval(wqe);
|
|
|
|
|
|
qp->wrid[ind] = wr->wr_id;
|
|
qp->wrid[ind] = wr->wr_id;
|
|
|
|
|