Lines Matching refs:psn

44 		       u32 psn, u32 pmtu)  in restart_sge()  argument
48 len = ((psn - wqe->psn) & QIB_PSN_MASK) * pmtu; in restart_sge()
149 qp->s_ack_rdma_psn = e->psn; in qib_make_rc_ack()
162 bth2 = e->psn & QIB_PSN_MASK; in qib_make_rc_ack()
323 wqe->psn = qp->s_next_psn; in qib_make_rc_req()
343 wqe->lpsn = wqe->psn; in qib_make_rc_req()
383 wqe->lpsn = wqe->psn; in qib_make_rc_req()
458 wqe->lpsn = wqe->psn; in qib_make_rc_req()
600 len = ((qp->s_psn - wqe->psn) & QIB_PSN_MASK) * pmtu; in qib_make_rc_req()
618 delta = (((int) bth2 - (int) wqe->psn) << 8) >> 8; in qib_make_rc_req()
785 static void reset_psn(struct qib_qp *qp, u32 psn) in reset_psn() argument
797 if (qib_cmp24(psn, wqe->psn) <= 0) { in reset_psn()
812 diff = qib_cmp24(psn, wqe->psn); in reset_psn()
855 qp->s_psn = psn; in reset_psn()
870 static void qib_restart_rc(struct qib_qp *qp, u32 psn, int wait) in qib_restart_rc() argument
892 ibp->n_rc_resends += (qp->s_psn - psn) & QIB_PSN_MASK; in qib_restart_rc()
899 reset_psn(qp, psn); in qib_restart_rc()
946 static void reset_sending_psn(struct qib_qp *qp, u32 psn) in reset_sending_psn() argument
954 if (qib_cmp24(psn, wqe->lpsn) <= 0) { in reset_sending_psn()
958 qp->s_sending_psn = psn + 1; in reset_sending_psn()
978 u32 psn; in qib_rc_send_complete() local
997 psn = be32_to_cpu(ohdr->bth[2]); in qib_rc_send_complete()
998 reset_sending_psn(qp, psn); in qib_rc_send_complete()
1004 if ((psn & IB_BTH_REQ_ACK) && qp->s_acked != qp->s_tail && in qib_rc_send_complete()
1046 static inline void update_last_psn(struct qib_qp *qp, u32 psn) in update_last_psn() argument
1048 qp->s_last_psn = psn; in update_last_psn()
1106 qp->s_psn = wqe->psn; in do_rc_completion()
1129 static int do_rc_ack(struct qib_qp *qp, u32 aeth, u32 psn, int opcode, in do_rc_ack() argument
1151 ack_psn = psn; in do_rc_ack()
1245 if (qib_cmp24(qp->s_psn, psn) <= 0) in do_rc_ack()
1246 reset_psn(qp, psn + 1); in do_rc_ack()
1247 } else if (qib_cmp24(qp->s_psn, psn) <= 0) { in do_rc_ack()
1249 qp->s_psn = psn + 1; in do_rc_ack()
1258 update_last_psn(qp, psn); in do_rc_ack()
1276 update_last_psn(qp, psn - 1); in do_rc_ack()
1278 ibp->n_rc_resends += (qp->s_psn - psn) & QIB_PSN_MASK; in do_rc_ack()
1280 reset_psn(qp, psn); in do_rc_ack()
1295 update_last_psn(qp, psn - 1); in do_rc_ack()
1306 qib_restart_rc(qp, psn, 0); in do_rc_ack()
1352 static void rdma_seq_err(struct qib_qp *qp, struct qib_ibport *ibp, u32 psn, in rdma_seq_err() argument
1365 while (qib_cmp24(psn, wqe->lpsn) > 0) { in rdma_seq_err()
1404 u32 psn, u32 hdrsize, u32 pmtu, in qib_rc_rcv_resp() argument
1421 if ((qib_cmp24(psn, qp->s_sending_psn) >= 0) && in qib_rc_rcv_resp()
1444 if (qib_cmp24(psn, qp->s_next_psn) >= 0) in qib_rc_rcv_resp()
1448 diff = qib_cmp24(psn, qp->s_last_psn); in qib_rc_rcv_resp()
1464 if (qib_cmp24(psn, qp->s_last_psn + 1) != 0) in qib_rc_rcv_resp()
1486 if (!do_rc_ack(qp, aeth, psn, opcode, val, rcd) || in qib_rc_rcv_resp()
1499 wqe, psn, pmtu); in qib_rc_rcv_resp()
1504 if (unlikely(qib_cmp24(psn, qp->s_last_psn + 1))) in qib_rc_rcv_resp()
1533 update_last_psn(qp, psn); in qib_rc_rcv_resp()
1540 if (!do_rc_ack(qp, aeth, psn, opcode, 0, rcd)) in qib_rc_rcv_resp()
1558 wqe, psn, pmtu); in qib_rc_rcv_resp()
1563 if (unlikely(qib_cmp24(psn, qp->s_last_psn + 1))) in qib_rc_rcv_resp()
1583 (void) do_rc_ack(qp, aeth, psn, in qib_rc_rcv_resp()
1593 rdma_seq_err(qp, ibp, psn, rcd); in qib_rc_rcv_resp()
1628 u32 psn, in qib_rc_rcv_error() argument
1701 if (qib_cmp24(psn, e->psn) >= 0) { in qib_rc_rcv_error()
1703 qib_cmp24(psn, e->lpsn) <= 0) in qib_rc_rcv_error()
1729 offset = ((psn - e->psn) & QIB_PSN_MASK) * in qib_rc_rcv_error()
1752 e->psn = psn; in qib_rc_rcv_error()
1777 if (!(psn & IB_BTH_REQ_ACK) || old_req) in qib_rc_rcv_error()
1797 qp->r_ack_psn = qp->s_ack_queue[i].psn - 1; in qib_rc_rcv_error()
1871 u32 psn; in qib_rc_rcv() local
1893 psn = be32_to_cpu(ohdr->bth[2]); in qib_rc_rcv()
1904 qib_rc_rcv_resp(ibp, ohdr, data, tlen, qp, opcode, psn, in qib_rc_rcv()
1910 diff = qib_cmp24(psn, qp->r_psn); in qib_rc_rcv()
1912 if (qib_rc_rcv_error(ohdr, data, qp, opcode, psn, diff, rcd)) in qib_rc_rcv()
2146 e->psn = psn; in qib_rc_rcv()
2215 e->psn = psn; in qib_rc_rcv()
2216 e->lpsn = psn; in qib_rc_rcv()
2236 qp->r_ack_psn = psn; in qib_rc_rcv()
2239 if (psn & (1 << 31)) in qib_rc_rcv()