Lines Matching full:resp
90 rxe_run_task(&qp->resp.task, must_sched); in rxe_resp_queue_pkt()
98 if (qp->resp.state == QP_STATE_ERROR) { in get_req()
114 return (qp->resp.res) ? RESPST_READ_REPLY : RESPST_CHK_PSN; in get_req()
120 int diff = psn_compare(pkt->psn, qp->resp.psn); in check_psn()
126 if (qp->resp.sent_psn_nak) in check_psn()
129 qp->resp.sent_psn_nak = 1; in check_psn()
138 if (qp->resp.sent_psn_nak) in check_psn()
139 qp->resp.sent_psn_nak = 0; in check_psn()
144 if (qp->resp.drop_msg || diff != 0) { in check_psn()
146 qp->resp.drop_msg = 0; in check_psn()
150 qp->resp.drop_msg = 1; in check_psn()
166 switch (qp->resp.opcode) { in check_op_seq()
207 switch (qp->resp.opcode) { in check_op_seq()
238 qp->resp.drop_msg = 1; in check_op_seq()
270 qp->resp.drop_msg = 1; in check_op_valid()
308 memcpy(&qp->resp.srq_wqe, wqe, sizeof(qp->resp.srq_wqe)); in get_srq_wqe()
310 qp->resp.wqe = &qp->resp.srq_wqe.wqe; in get_srq_wqe()
336 if (qp->resp.state == QP_STATE_ERROR) { in check_resource()
337 if (qp->resp.wqe) { in check_resource()
338 qp->resp.status = IB_WC_WR_FLUSH_ERR; in check_resource()
341 qp->resp.wqe = queue_head(qp->rq.queue); in check_resource()
342 if (qp->resp.wqe) { in check_resource()
343 qp->resp.status = IB_WC_WR_FLUSH_ERR; in check_resource()
368 qp->resp.wqe = queue_head(qp->rq.queue); in check_resource()
369 return (qp->resp.wqe) ? RESPST_CHK_LENGTH : RESPST_ERR_RNR; in check_resource()
404 qp->resp.va = reth_va(pkt); in check_rkey()
405 qp->resp.rkey = reth_rkey(pkt); in check_rkey()
406 qp->resp.resid = reth_len(pkt); in check_rkey()
407 qp->resp.length = reth_len(pkt); in check_rkey()
412 qp->resp.va = atmeth_va(pkt); in check_rkey()
413 qp->resp.rkey = atmeth_rkey(pkt); in check_rkey()
414 qp->resp.resid = sizeof(u64); in check_rkey()
427 va = qp->resp.va; in check_rkey()
428 rkey = qp->resp.rkey; in check_rkey()
429 resid = qp->resp.resid; in check_rkey()
469 WARN_ON_ONCE(qp->resp.mr); in check_rkey()
471 qp->resp.mr = mem; in check_rkey()
485 err = copy_data(qp->pd, IB_ACCESS_LOCAL_WRITE, &qp->resp.wqe->dma, in send_data_in()
501 err = rxe_mem_copy(qp->resp.mr, qp->resp.va, payload_addr(pkt), in write_data_in()
508 qp->resp.va += data_len; in write_data_in()
509 qp->resp.resid -= data_len; in write_data_in()
524 struct rxe_mem *mr = qp->resp.mr; in process_atomic()
541 qp->resp.atomic_orig = *vaddr; in process_atomic()
604 aeth_set_msn(ack, qp->resp.msn); in prepare_ack_packet()
608 atmack_set_orig(ack, qp->resp.atomic_orig); in prepare_ack_packet()
640 struct resp_res *res = qp->resp.res; in read_reply()
648 res = &qp->resp.resources[qp->resp.res_head]; in read_reply()
656 res->read.va = qp->resp.va; in read_reply()
657 res->read.va_org = qp->resp.va; in read_reply()
670 res->read.resid = qp->resp.resid; in read_reply()
671 res->read.length = qp->resp.resid; in read_reply()
672 res->read.rkey = qp->resp.rkey; in read_reply()
675 res->read.mr = qp->resp.mr; in read_reply()
676 qp->resp.mr = NULL; in read_reply()
678 qp->resp.res = res; in read_reply()
731 qp->resp.res = NULL; in read_reply()
733 qp->resp.opcode = -1; in read_reply()
734 if (psn_compare(res->cur_psn, qp->resp.psn) >= 0) in read_reply()
735 qp->resp.psn = res->cur_psn; in read_reply()
782 qp->resp.msn++; in execute()
794 qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK; in execute()
795 qp->resp.ack_psn = qp->resp.psn; in execute()
797 qp->resp.opcode = pkt->opcode; in execute()
798 qp->resp.status = IB_WC_SUCCESS; in execute()
802 qp->resp.msn++; in execute()
816 struct rxe_recv_wqe *wqe = qp->resp.wqe; in do_complete()
825 uwc->status = qp->resp.status; in do_complete()
829 wc->status = qp->resp.status; in do_complete()
842 qp->resp.length : wqe->dma.length - wqe->dma.resid; in do_complete()
915 qp->resp.wqe = NULL; in do_complete()
920 if (qp->resp.state == QP_STATE_ERROR) in do_complete()
971 res = &qp->resp.resources[qp->resp.res_head]; in send_atomic_ack()
1001 if (qp->resp.aeth_syndrome != AETH_ACK_UNLIMITED) in acknowledge()
1002 send_ack(qp, pkt, qp->resp.aeth_syndrome, pkt->psn); in acknowledge()
1022 if (qp->resp.mr) { in cleanup()
1023 rxe_drop_ref(qp->resp.mr); in cleanup()
1024 qp->resp.mr = NULL; in cleanup()
1035 struct resp_res *res = &qp->resp.resources[i]; in find_resource()
1053 u32 prev_psn = (qp->resp.ack_psn - 1) & BTH_PSN_MASK; in duplicate_request()
1104 qp->resp.res = res; in duplicate_request()
1136 qp->resp.aeth_syndrome = syndrome; in do_class_ac_error()
1137 qp->resp.status = status; in do_class_ac_error()
1140 qp->resp.goto_error = 1; in do_class_ac_error()
1148 qp->resp.drop_msg = 1; in do_class_d1e_error()
1149 if (qp->resp.wqe) { in do_class_d1e_error()
1150 qp->resp.status = IB_WC_REM_INV_REQ_ERR; in do_class_d1e_error()
1161 if (qp->resp.wqe) { in do_class_d1e_error()
1162 qp->resp.wqe->dma.resid = qp->resp.wqe->dma.length; in do_class_d1e_error()
1163 qp->resp.wqe->dma.cur_sge = 0; in do_class_d1e_error()
1164 qp->resp.wqe->dma.sge_offset = 0; in do_class_d1e_error()
1165 qp->resp.opcode = -1; in do_class_d1e_error()
1168 if (qp->resp.mr) { in do_class_d1e_error()
1169 rxe_drop_ref(qp->resp.mr); in do_class_d1e_error()
1170 qp->resp.mr = NULL; in do_class_d1e_error()
1203 qp->resp.aeth_syndrome = AETH_ACK_UNLIMITED; in rxe_responder()
1210 switch (qp->resp.state) { in rxe_responder()
1265 send_ack(qp, pkt, AETH_NAK_PSN_SEQ_ERROR, qp->resp.psn); in rxe_responder()
1293 qp->resp.drop_msg = 1; in rxe_responder()
1305 qp->resp.drop_msg = 1; in rxe_responder()
1308 qp->resp.status = IB_WC_REM_ACCESS_ERR; in rxe_responder()
1325 qp->resp.status = IB_WC_REM_INV_REQ_ERR; in rxe_responder()
1329 qp->resp.drop_msg = 1; in rxe_responder()
1347 if (qp->resp.goto_error) { in rxe_responder()
1355 if (qp->resp.goto_error) { in rxe_responder()
1364 qp->resp.wqe = NULL; in rxe_responder()
1368 qp->resp.goto_error = 0; in rxe_responder()