Lines Matching full:resp
118 rxe_run_task(&qp->resp.task, must_sched); in rxe_resp_queue_pkt()
126 if (qp->resp.state == QP_STATE_ERROR) { in get_req()
145 return (qp->resp.res) ? RESPST_READ_REPLY : RESPST_CHK_PSN; in get_req()
151 int diff = psn_compare(pkt->psn, qp->resp.psn); in check_psn()
157 if (qp->resp.sent_psn_nak) in check_psn()
160 qp->resp.sent_psn_nak = 1; in check_psn()
169 if (qp->resp.sent_psn_nak) in check_psn()
170 qp->resp.sent_psn_nak = 0; in check_psn()
175 if (qp->resp.drop_msg || diff != 0) { in check_psn()
177 qp->resp.drop_msg = 0; in check_psn()
181 qp->resp.drop_msg = 1; in check_psn()
197 switch (qp->resp.opcode) { in check_op_seq()
238 switch (qp->resp.opcode) { in check_op_seq()
269 qp->resp.drop_msg = 1; in check_op_seq()
301 qp->resp.drop_msg = 1; in check_op_valid()
339 memcpy(&qp->resp.srq_wqe, wqe, sizeof(qp->resp.srq_wqe)); in get_srq_wqe()
341 qp->resp.wqe = &qp->resp.srq_wqe.wqe; in get_srq_wqe()
367 if (qp->resp.state == QP_STATE_ERROR) { in check_resource()
368 if (qp->resp.wqe) { in check_resource()
369 qp->resp.status = IB_WC_WR_FLUSH_ERR; in check_resource()
372 qp->resp.wqe = queue_head(qp->rq.queue); in check_resource()
373 if (qp->resp.wqe) { in check_resource()
374 qp->resp.status = IB_WC_WR_FLUSH_ERR; in check_resource()
399 qp->resp.wqe = queue_head(qp->rq.queue); in check_resource()
400 return (qp->resp.wqe) ? RESPST_CHK_LENGTH : RESPST_ERR_RNR; in check_resource()
435 qp->resp.va = reth_va(pkt); in check_rkey()
436 qp->resp.rkey = reth_rkey(pkt); in check_rkey()
437 qp->resp.resid = reth_len(pkt); in check_rkey()
438 qp->resp.length = reth_len(pkt); in check_rkey()
443 qp->resp.va = atmeth_va(pkt); in check_rkey()
444 qp->resp.rkey = atmeth_rkey(pkt); in check_rkey()
445 qp->resp.resid = sizeof(u64); in check_rkey()
458 va = qp->resp.va; in check_rkey()
459 rkey = qp->resp.rkey; in check_rkey()
460 resid = qp->resp.resid; in check_rkey()
500 WARN_ON_ONCE(qp->resp.mr); in check_rkey()
502 qp->resp.mr = mem; in check_rkey()
516 err = copy_data(qp->pd, IB_ACCESS_LOCAL_WRITE, &qp->resp.wqe->dma, in send_data_in()
532 err = rxe_mem_copy(qp->resp.mr, qp->resp.va, payload_addr(pkt), in write_data_in()
539 qp->resp.va += data_len; in write_data_in()
540 qp->resp.resid -= data_len; in write_data_in()
555 struct rxe_mem *mr = qp->resp.mr; in process_atomic()
572 qp->resp.atomic_orig = *vaddr; in process_atomic()
635 aeth_set_msn(ack, qp->resp.msn); in prepare_ack_packet()
639 atmack_set_orig(ack, qp->resp.atomic_orig); in prepare_ack_packet()
672 struct resp_res *res = qp->resp.res; in read_reply()
680 res = &qp->resp.resources[qp->resp.res_head]; in read_reply()
688 res->read.va = qp->resp.va; in read_reply()
689 res->read.va_org = qp->resp.va; in read_reply()
702 res->read.resid = qp->resp.resid; in read_reply()
703 res->read.length = qp->resp.resid; in read_reply()
704 res->read.rkey = qp->resp.rkey; in read_reply()
707 res->read.mr = qp->resp.mr; in read_reply()
708 qp->resp.mr = NULL; in read_reply()
710 qp->resp.res = res; in read_reply()
763 qp->resp.res = NULL; in read_reply()
765 qp->resp.opcode = -1; in read_reply()
766 if (psn_compare(res->cur_psn, qp->resp.psn) >= 0) in read_reply()
767 qp->resp.psn = res->cur_psn; in read_reply()
814 qp->resp.msn++; in execute()
826 qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK; in execute()
827 qp->resp.ack_psn = qp->resp.psn; in execute()
829 qp->resp.opcode = pkt->opcode; in execute()
830 qp->resp.status = IB_WC_SUCCESS; in execute()
834 qp->resp.msn++; in execute()
848 struct rxe_recv_wqe *wqe = qp->resp.wqe; in do_complete()
856 uwc->status = qp->resp.status; in do_complete()
860 wc->status = qp->resp.status; in do_complete()
872 qp->resp.length : wqe->dma.length - wqe->dma.resid; in do_complete()
946 qp->resp.wqe = NULL; in do_complete()
951 if (qp->resp.state == QP_STATE_ERROR) in do_complete()
1004 res = &qp->resp.resources[qp->resp.res_head]; in send_atomic_ack()
1034 if (qp->resp.aeth_syndrome != AETH_ACK_UNLIMITED) in acknowledge()
1035 send_ack(qp, pkt, qp->resp.aeth_syndrome, pkt->psn); in acknowledge()
1055 if (qp->resp.mr) { in cleanup()
1056 rxe_drop_ref(qp->resp.mr); in cleanup()
1057 qp->resp.mr = NULL; in cleanup()
1068 struct resp_res *res = &qp->resp.resources[i]; in find_resource()
1086 u32 prev_psn = (qp->resp.ack_psn - 1) & BTH_PSN_MASK; in duplicate_request()
1137 qp->resp.res = res; in duplicate_request()
1170 qp->resp.aeth_syndrome = syndrome; in do_class_ac_error()
1171 qp->resp.status = status; in do_class_ac_error()
1174 qp->resp.goto_error = 1; in do_class_ac_error()
1182 qp->resp.drop_msg = 1; in do_class_d1e_error()
1183 if (qp->resp.wqe) { in do_class_d1e_error()
1184 qp->resp.status = IB_WC_REM_INV_REQ_ERR; in do_class_d1e_error()
1195 if (qp->resp.wqe) { in do_class_d1e_error()
1196 qp->resp.wqe->dma.resid = qp->resp.wqe->dma.length; in do_class_d1e_error()
1197 qp->resp.wqe->dma.cur_sge = 0; in do_class_d1e_error()
1198 qp->resp.wqe->dma.sge_offset = 0; in do_class_d1e_error()
1199 qp->resp.opcode = -1; in do_class_d1e_error()
1202 if (qp->resp.mr) { in do_class_d1e_error()
1203 rxe_drop_ref(qp->resp.mr); in do_class_d1e_error()
1204 qp->resp.mr = NULL; in do_class_d1e_error()
1237 qp->resp.aeth_syndrome = AETH_ACK_UNLIMITED; in rxe_responder()
1244 switch (qp->resp.state) { in rxe_responder()
1299 send_ack(qp, pkt, AETH_NAK_PSN_SEQ_ERROR, qp->resp.psn); in rxe_responder()
1327 qp->resp.drop_msg = 1; in rxe_responder()
1339 qp->resp.drop_msg = 1; in rxe_responder()
1342 qp->resp.status = IB_WC_REM_ACCESS_ERR; in rxe_responder()
1359 qp->resp.status = IB_WC_REM_INV_REQ_ERR; in rxe_responder()
1363 qp->resp.drop_msg = 1; in rxe_responder()
1381 if (qp->resp.goto_error) { in rxe_responder()
1389 if (qp->resp.goto_error) { in rxe_responder()
1398 qp->resp.wqe = NULL; in rxe_responder()
1402 qp->resp.goto_error = 0; in rxe_responder()