• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/infiniband/hw/mlx4/

Lines Matching refs:wr

1044 static int build_mlx_header(struct mlx4_ib_sqp *sqp, struct ib_send_wr *wr,
1050 struct mlx4_ib_ah *ah = to_mah(wr->wr.ud.ah);
1058 for (i = 0; i < wr->num_sge; ++i)
1059 send_size += wr->sg_list[i].length;
1086 switch (wr->opcode) {
1094 sqp->ud_header.immediate_data = wr->imm_data;
1103 sqp->ud_header.bth.solicited_event = !!(wr->send_flags & IB_SEND_SOLICITED);
1107 ib_get_cached_pkey(ib_dev, sqp->qp.port, wr->wr.ud.pkey_index, &pkey);
1109 sqp->ud_header.bth.destination_qpn = cpu_to_be32(wr->wr.ud.remote_qpn);
1111 sqp->ud_header.deth.qkey = cpu_to_be32(wr->wr.ud.remote_qkey & 0x80000000 ?
1112 sqp->qkey : wr->wr.ud.remote_qkey);
1186 int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
1203 for (nreq = 0; wr; ++nreq, wr = wr->next) {
1206 *bad_wr = wr;
1210 if (unlikely(wr->num_sge > qp->sq.max_gs)) {
1212 *bad_wr = wr;
1217 qp->sq.wrid[ind & (qp->sq.wqe_cnt - 1)] = wr->wr_id;
1220 (wr->send_flags & IB_SEND_SIGNALED ?
1222 (wr->send_flags & IB_SEND_SOLICITED ?
1226 if (wr->opcode == IB_WR_SEND_WITH_IMM ||
1227 wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM)
1228 ctrl->imm = wr->imm_data;
1238 switch (wr->opcode) {
1242 cpu_to_be64(wr->wr.atomic.remote_addr);
1244 cpu_to_be32(wr->wr.atomic.rkey);
1249 if (wr->opcode == IB_WR_ATOMIC_CMP_AND_SWP) {
1251 cpu_to_be64(wr->wr.atomic.swap);
1253 cpu_to_be64(wr->wr.atomic.compare_add);
1256 cpu_to_be64(wr->wr.atomic.compare_add);
1270 cpu_to_be64(wr->wr.rdma.remote_addr);
1272 cpu_to_be32(wr->wr.rdma.rkey);
1288 &to_mah(wr->wr.ud.ah)->av, sizeof (struct mlx4_av));
1290 cpu_to_be32(wr->wr.ud.remote_qpn);
1292 cpu_to_be32(wr->wr.ud.remote_qkey);
1300 err = build_mlx_header(to_msqp(qp), wr, ctrl);
1302 *bad_wr = wr;
1315 for (i = 0; i < wr->num_sge; ++i) {
1317 cpu_to_be32(wr->sg_list[i].length);
1319 cpu_to_be32(wr->sg_list[i].lkey);
1321 cpu_to_be64(wr->sg_list[i].addr);
1336 ctrl->fence_size = (wr->send_flags & IB_SEND_FENCE ?
1346 if (wr->opcode < 0 || wr->opcode >= ARRAY_SIZE(mlx4_ib_opcode)) {
1351 ctrl->owner_opcode = mlx4_ib_opcode[wr->opcode] |
1359 if (wr->next)
1394 int mlx4_ib_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *wr,
1409 for (nreq = 0; wr; ++nreq, wr = wr->next) {
1412 *bad_wr = wr;
1416 if (unlikely(wr->num_sge > qp->rq.max_gs)) {
1418 *bad_wr = wr;
1424 for (i = 0; i < wr->num_sge; ++i) {
1425 scat[i].byte_count = cpu_to_be32(wr->sg_list[i].length);
1426 scat[i].lkey = cpu_to_be32(wr->sg_list[i].lkey);
1427 scat[i].addr = cpu_to_be64(wr->sg_list[i].addr);
1436 qp->rq.wrid[ind] = wr->wr_id;