Lines Matching refs:psn

58 struct rvt_ack_entry *find_prev_entry(struct rvt_qp *qp, u32 psn, u8 *prev,  in find_prev_entry()  argument
82 if (cmp_psn(psn, e->psn) >= 0) { in find_prev_entry()
84 cmp_psn(psn, e->lpsn) <= 0) in find_prev_entry()
162 trace_hfi1_rsp_make_rc_ack(qp, e->psn); in make_rc_ack()
212 qp->s_ack_rdma_psn = e->psn; in make_rc_ack()
227 qp->s_ack_rdma_psn = mask_psn(e->psn + req->cur_seg); in make_rc_ack()
261 bth2 = mask_psn(e->psn); in make_rc_ack()
337 trace_hfi1_tid_req_make_rc_ack_write(qp, 0, e->opcode, e->psn, in make_rc_ack()
574 qp->s_psn = wqe->psn; in hfi1_make_rc_req()
751 req->comp_seg = delta_psn(bth2, wqe->psn); in hfi1_make_rc_req()
764 wqe->psn, wqe->lpsn, in hfi1_make_rc_req()
804 wqe->psn, wqe->lpsn, in hfi1_make_rc_req()
806 delta = cmp_psn(qp->s_psn, wqe->psn); in hfi1_make_rc_req()
1032 len = (delta_psn(qp->s_psn, wqe->psn)) * pmtu; in hfi1_make_rc_req()
1060 req->comp_seg = delta_psn(qp->s_psn, wqe->psn); in hfi1_make_rc_req()
1075 wqe->psn, wqe->lpsn, req); in hfi1_make_rc_req()
1089 req->cur_seg = delta_psn(qp->s_psn, wqe->psn) / priv->pkts_ps; in hfi1_make_rc_req()
1130 wqe->psn, wqe->lpsn, req); in hfi1_make_rc_req()
1134 delta = cmp_psn(qp->s_psn, wqe->psn); in hfi1_make_rc_req()
1173 wqe->psn, wqe->lpsn, req); in hfi1_make_rc_req()
1177 delta = delta_psn(bth2, wqe->psn); in hfi1_make_rc_req()
1459 static void update_num_rd_atomic(struct rvt_qp *qp, u32 psn, in update_num_rd_atomic() argument
1472 if (cmp_psn(psn, wqe->lpsn) <= 0) { in update_num_rd_atomic()
1475 cur_seg = (psn - wqe->psn) / priv->pkts_ps; in update_num_rd_atomic()
1481 wqe->psn, in update_num_rd_atomic()
1500 static void reset_psn(struct rvt_qp *qp, u32 psn) in reset_psn() argument
1517 if (cmp_psn(psn, wqe->psn) <= 0) { in reset_psn()
1521 update_num_rd_atomic(qp, psn, wqe); in reset_psn()
1532 diff = cmp_psn(psn, wqe->psn); in reset_psn()
1548 update_num_rd_atomic(qp, psn, wqe); in reset_psn()
1589 qp->s_psn = psn; in reset_psn()
1606 void hfi1_restart_rc(struct rvt_qp *qp, u32 psn, int wait) in hfi1_restart_rc() argument
1662 ibp->rvp.n_rc_resends += delta_psn(qp->s_psn, psn); in hfi1_restart_rc()
1669 reset_psn(qp, psn); in hfi1_restart_rc()
1677 static void reset_sending_psn(struct rvt_qp *qp, u32 psn) in reset_sending_psn() argument
1686 if (cmp_psn(psn, wqe->lpsn) <= 0) { in reset_sending_psn()
1692 qp->s_sending_psn = psn + 1; in reset_sending_psn()
1718 u32 psn; in hfi1_rc_verbs_aborted() local
1727 psn = ib_bth_get_psn(ohdr) | IB_BTH_REQ_ACK; in hfi1_rc_verbs_aborted()
1728 ohdr->bth[2] = cpu_to_be32(psn); in hfi1_rc_verbs_aborted()
1741 u32 psn; in hfi1_rc_send_complete() local
1759 psn = ib_bth_get_psn(ohdr); in hfi1_rc_send_complete()
1767 reset_sending_psn(qp, psn); in hfi1_rc_send_complete()
1799 if ((psn & IB_BTH_REQ_ACK) && tail != head && in hfi1_rc_send_complete()
1815 (psn & IB_BTH_REQ_ACK) && in hfi1_rc_send_complete()
1846 trace_hfi1_sendcomplete(qp, psn); in hfi1_rc_send_complete()
1856 static inline void update_last_psn(struct rvt_qp *qp, u32 psn) in update_last_psn() argument
1858 qp->s_last_psn = psn; in update_last_psn()
1931 qp->s_psn = wqe->psn; in do_rc_completion()
1972 static void update_qp_retry_state(struct rvt_qp *qp, u32 psn, u32 spsn, in update_qp_retry_state() argument
1977 qp->s_psn = psn + 1; in update_qp_retry_state()
1984 if (cmp_psn(psn, lpsn) >= 0) { in update_qp_retry_state()
1989 } else if (!cmp_psn(psn, spsn)) { in update_qp_retry_state()
2006 int do_rc_ack(struct rvt_qp *qp, u32 aeth, u32 psn, int opcode, in do_rc_ack() argument
2025 ack_psn = psn; in do_rc_ack()
2065 (delta_psn(psn, qp->s_last_psn) != 1))) { in do_rc_ack()
2111 trace_hfi1_rc_ack_do(qp, aeth, psn, wqe); in do_rc_ack()
2146 if (cmp_psn(psn, qp->s_last_psn + 1)) { in do_rc_ack()
2155 cmp_psn(qp->s_psn, psn) <= 0) in do_rc_ack()
2156 update_qp_retry_state(qp, psn, in do_rc_ack()
2157 __w->psn, in do_rc_ack()
2174 if (cmp_psn(qp->s_psn, psn) <= 0) in do_rc_ack()
2175 reset_psn(qp, psn + 1); in do_rc_ack()
2180 if (cmp_psn(qp->s_psn, psn) <= 0) { in do_rc_ack()
2182 qp->s_psn = psn + 1; in do_rc_ack()
2199 cmp_psn(psn, wqe->psn) >= 0) in do_rc_ack()
2201 update_last_psn(qp, psn); in do_rc_ack()
2230 update_last_psn(qp, psn - 1); in do_rc_ack()
2231 reset_psn(qp, psn); in do_rc_ack()
2234 ibp->rvp.n_rc_resends += delta_psn(qp->s_psn, psn); in do_rc_ack()
2244 update_last_psn(qp, psn - 1); in do_rc_ack()
2255 hfi1_restart_rc(qp, psn, 0); in do_rc_ack()
2305 static void rdma_seq_err(struct rvt_qp *qp, struct hfi1_ibport *ibp, u32 psn, in rdma_seq_err() argument
2316 while (cmp_psn(psn, wqe->lpsn) > 0) { in rdma_seq_err()
2358 u32 psn = ib_bth_get_psn(packet->ohdr); in rc_rcv_resp() local
2366 trace_hfi1_ack(qp, psn); in rc_rcv_resp()
2369 if (cmp_psn(psn, READ_ONCE(qp->s_next_psn)) >= 0) in rc_rcv_resp()
2373 diff = cmp_psn(psn, qp->s_last_psn); in rc_rcv_resp()
2389 if (cmp_psn(psn, qp->s_last_psn + 1) != 0) in rc_rcv_resp()
2408 if (!do_rc_ack(qp, aeth, psn, opcode, val, rcd) || in rc_rcv_resp()
2420 wqe, psn, pmtu); in rc_rcv_resp()
2425 if (unlikely(cmp_psn(psn, qp->s_last_psn + 1))) in rc_rcv_resp()
2453 update_last_psn(qp, psn); in rc_rcv_resp()
2461 if (!do_rc_ack(qp, aeth, psn, opcode, 0, rcd)) in rc_rcv_resp()
2476 wqe, psn, pmtu); in rc_rcv_resp()
2481 if (unlikely(cmp_psn(psn, qp->s_last_psn + 1))) in rc_rcv_resp()
2499 (void)do_rc_ack(qp, aeth, psn, in rc_rcv_resp()
2510 rdma_seq_err(qp, ibp, psn, rcd); in rc_rcv_resp()
2552 struct rvt_qp *qp, u32 opcode, u32 psn, in rc_rcv_error() argument
2562 trace_hfi1_rcv_error(qp, psn); in rc_rcv_error()
2606 e = find_prev_entry(qp, psn, &prev, &mra, &old_req); in rc_rcv_error()
2629 offset = delta_psn(psn, e->psn) * qp->pmtu; in rc_rcv_error()
2648 e->psn = psn; in rc_rcv_error()
2677 if (!(psn & IB_BTH_REQ_ACK) || old_req) in rc_rcv_error()
2815 u32 psn = ib_bth_get_psn(packet->ohdr); in hfi1_rc_rcv() local
2848 diff = delta_psn(psn, qp->r_psn); in hfi1_rc_rcv()
2850 if (rc_rcv_error(ohdr, data, qp, opcode, psn, diff, rcd)) in hfi1_rc_rcv()
3100 e->psn = psn; in hfi1_rc_rcv()
3176 e->psn = psn; in hfi1_rc_rcv()
3177 e->lpsn = psn; in hfi1_rc_rcv()
3201 qp->r_ack_psn = psn; in hfi1_rc_rcv()
3204 if (psn & IB_BTH_REQ_ACK || fecn) { in hfi1_rc_rcv()
3258 u32 psn; in hfi1_rc_hdrerr() local
3263 psn = ib_bth_get_psn(packet->ohdr); in hfi1_rc_hdrerr()
3268 diff = delta_psn(psn, qp->r_psn); in hfi1_rc_hdrerr()