Lines Matching refs:resp

61 		rxe_sched_task(&qp->resp.task);
63 rxe_run_task(&qp->resp.task);
77 return (qp->resp.res) ? RESPST_READ_REPLY : RESPST_CHK_PSN;
83 int diff = psn_compare(pkt->psn, qp->resp.psn);
89 if (qp->resp.sent_psn_nak)
92 qp->resp.sent_psn_nak = 1;
101 if (qp->resp.sent_psn_nak)
102 qp->resp.sent_psn_nak = 0;
107 if (qp->resp.drop_msg || diff != 0) {
109 qp->resp.drop_msg = 0;
113 qp->resp.drop_msg = 1;
129 switch (qp->resp.opcode) {
170 switch (qp->resp.opcode) {
201 qp->resp.drop_msg = 1;
251 qp->resp.drop_msg = 1;
297 memcpy(&qp->resp.srq_wqe, wqe, size);
299 qp->resp.wqe = &qp->resp.srq_wqe.wqe;
340 qp->resp.wqe = queue_head(qp->rq.queue,
342 return (qp->resp.wqe) ? RESPST_CHK_LENGTH : RESPST_ERR_RNR;
398 * Instead set qp->resp.rkey to 0 which is an invalid rkey
405 qp->resp.va = reth_va(pkt);
406 qp->resp.offset = 0;
407 qp->resp.resid = length;
408 qp->resp.length = length;
410 qp->resp.rkey = 0;
412 qp->resp.rkey = reth_rkey(pkt);
417 qp->resp.va = atmeth_va(pkt);
418 qp->resp.offset = 0;
419 qp->resp.rkey = atmeth_rkey(pkt);
420 qp->resp.resid = sizeof(u64);
423 /* resolve the packet rkey to qp->resp.mr or set qp->resp.mr to NULL
473 qp->resp.mr = NULL;
477 va = qp->resp.va;
478 rkey = qp->resp.rkey;
479 resid = qp->resp.resid;
498 qp->resp.offset = mw->addr;
520 if (mr_check_range(mr, va + qp->resp.offset, resid)) {
547 WARN_ON_ONCE(qp->resp.mr);
549 qp->resp.mr = mr;
553 qp->resp.mr = NULL;
567 err = copy_data(qp->pd, IB_ACCESS_LOCAL_WRITE, &qp->resp.wqe->dma,
583 err = rxe_mr_copy(qp->resp.mr, qp->resp.va + qp->resp.offset,
590 qp->resp.va += data_len;
591 qp->resp.resid -= data_len;
604 res = &qp->resp.resources[qp->resp.res_head];
613 res->read.va = qp->resp.va + qp->resp.offset;
614 res->read.va_org = qp->resp.va + qp->resp.offset;
615 res->read.resid = qp->resp.resid;
616 res->read.length = qp->resp.resid;
617 res->read.rkey = qp->resp.rkey;
633 res->flush.va = qp->resp.va + qp->resp.offset;
634 res->flush.length = qp->resp.length;
646 struct rxe_mr *mr = qp->resp.mr;
647 struct resp_res *res = qp->resp.res;
654 qp->resp.res = res;
675 qp->resp.msn++;
678 qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK;
679 qp->resp.ack_psn = qp->resp.psn;
681 qp->resp.opcode = pkt->opcode;
682 qp->resp.status = IB_WC_SUCCESS;
690 struct rxe_mr *mr = qp->resp.mr;
691 struct resp_res *res = qp->resp.res;
696 qp->resp.res = res;
700 u64 iova = qp->resp.va + qp->resp.offset;
709 qp->resp.msn++;
712 qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK;
713 qp->resp.ack_psn = qp->resp.psn;
715 qp->resp.opcode = pkt->opcode;
716 qp->resp.status = IB_WC_SUCCESS;
725 struct resp_res *res = qp->resp.res;
733 qp->resp.res = res;
739 mr = qp->resp.mr;
741 iova = qp->resp.va + qp->resp.offset;
747 qp->resp.resid = 0;
748 qp->resp.msn++;
751 qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK;
752 qp->resp.ack_psn = qp->resp.psn;
754 qp->resp.opcode = pkt->opcode;
755 qp->resp.status = IB_WC_SUCCESS;
794 aeth_set_msn(ack, qp->resp.msn);
798 atmack_set_orig(ack, qp->resp.res->atomic.orig_val);
875 struct resp_res *res = qp->resp.res;
880 qp->resp.res = res;
884 if (!res->replay || qp->resp.length == 0) {
886 * otherwise qp->resp.mr holds a ref on mr
889 mr = qp->resp.mr;
890 qp->resp.mr = NULL;
955 qp->resp.res = NULL;
957 qp->resp.opcode = -1;
958 if (psn_compare(res->cur_psn, qp->resp.psn) >= 0)
959 qp->resp.psn = res->cur_psn;
1011 qp->resp.msn++;
1034 qp->resp.msn++;
1037 qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK;
1038 qp->resp.ack_psn = qp->resp.psn;
1040 qp->resp.opcode = pkt->opcode;
1041 qp->resp.status = IB_WC_SUCCESS;
1057 struct rxe_recv_wqe *wqe = qp->resp.wqe;
1067 uwc->status = qp->resp.status;
1071 wc->status = qp->resp.status;
1083 qp->resp.length : wqe->dma.length - wqe->dma.resid;
1144 qp->resp.wqe = NULL;
1198 qp->resp.res = NULL;
1211 qp->resp.res = NULL;
1221 if (qp->resp.aeth_syndrome != AETH_ACK_UNLIMITED)
1222 send_ack(qp, qp->resp.aeth_syndrome, pkt->psn);
1245 if (qp->resp.mr) {
1246 rxe_put(qp->resp.mr);
1247 qp->resp.mr = NULL;
1258 struct resp_res *res = &qp->resp.resources[i];
1276 u32 prev_psn = (qp->resp.ack_psn - 1) & BTH_PSN_MASK;
1291 qp->resp.res = res;
1341 qp->resp.res = res;
1353 qp->resp.res = res;
1372 qp->resp.aeth_syndrome = syndrome;
1373 qp->resp.status = status;
1376 qp->resp.goto_error = 1;
1384 qp->resp.drop_msg = 1;
1385 if (qp->resp.wqe) {
1386 qp->resp.status = IB_WC_REM_INV_REQ_ERR;
1397 if (qp->resp.wqe) {
1398 qp->resp.wqe->dma.resid = qp->resp.wqe->dma.length;
1399 qp->resp.wqe->dma.cur_sge = 0;
1400 qp->resp.wqe->dma.sge_offset = 0;
1401 qp->resp.opcode = -1;
1404 if (qp->resp.mr) {
1405 rxe_put(qp->resp.mr);
1406 qp->resp.mr = NULL;
1485 qp->resp.wqe = NULL;
1508 qp->resp.aeth_syndrome = AETH_ACK_UNLIMITED;
1565 send_ack(qp, AETH_NAK_PSN_SEQ_ERROR, qp->resp.psn);
1593 qp->resp.drop_msg = 1;
1605 qp->resp.drop_msg = 1;
1608 qp->resp.status = IB_WC_REM_ACCESS_ERR;
1619 qp->resp.goto_error = 1;
1620 qp->resp.status = IB_WC_REM_INV_REQ_ERR;
1632 qp->resp.status = IB_WC_REM_INV_REQ_ERR;
1636 qp->resp.drop_msg = 1;
1654 if (qp->resp.goto_error) {
1662 if (qp->resp.goto_error) {
1670 qp->resp.goto_error = 0;