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()
382 wqe->lpsn = wqe->psn; in qib_make_rc_req()
456 wqe->lpsn = wqe->psn; in qib_make_rc_req()
598 len = ((qp->s_psn - wqe->psn) & QIB_PSN_MASK) * pmtu; in qib_make_rc_req()
616 delta = (((int) bth2 - (int) wqe->psn) << 8) >> 8; in qib_make_rc_req()
783 static void reset_psn(struct qib_qp *qp, u32 psn) in reset_psn() argument
795 if (qib_cmp24(psn, wqe->psn) <= 0) { in reset_psn()
810 diff = qib_cmp24(psn, wqe->psn); in reset_psn()
853 qp->s_psn = psn; in reset_psn()
868 static void qib_restart_rc(struct qib_qp *qp, u32 psn, int wait) in qib_restart_rc() argument
890 ibp->n_rc_resends += (qp->s_psn - psn) & QIB_PSN_MASK; in qib_restart_rc()
897 reset_psn(qp, psn); in qib_restart_rc()
944 static void reset_sending_psn(struct qib_qp *qp, u32 psn) in reset_sending_psn() argument
952 if (qib_cmp24(psn, wqe->lpsn) <= 0) { in reset_sending_psn()
956 qp->s_sending_psn = psn + 1; in reset_sending_psn()
976 u32 psn; in qib_rc_send_complete() local
995 psn = be32_to_cpu(ohdr->bth[2]); in qib_rc_send_complete()
996 reset_sending_psn(qp, psn); in qib_rc_send_complete()
1002 if ((psn & IB_BTH_REQ_ACK) && qp->s_acked != qp->s_tail && in qib_rc_send_complete()
1044 static inline void update_last_psn(struct qib_qp *qp, u32 psn) in update_last_psn() argument
1046 qp->s_last_psn = psn; in update_last_psn()
1104 qp->s_psn = wqe->psn; in do_rc_completion()
1127 static int do_rc_ack(struct qib_qp *qp, u32 aeth, u32 psn, int opcode, in do_rc_ack() argument
1149 ack_psn = psn; in do_rc_ack()
1243 if (qib_cmp24(qp->s_psn, psn) <= 0) in do_rc_ack()
1244 reset_psn(qp, psn + 1); in do_rc_ack()
1245 } else if (qib_cmp24(qp->s_psn, psn) <= 0) { in do_rc_ack()
1247 qp->s_psn = psn + 1; in do_rc_ack()
1256 update_last_psn(qp, psn); in do_rc_ack()
1274 update_last_psn(qp, psn - 1); in do_rc_ack()
1276 ibp->n_rc_resends += (qp->s_psn - psn) & QIB_PSN_MASK; in do_rc_ack()
1278 reset_psn(qp, psn); in do_rc_ack()
1293 update_last_psn(qp, psn - 1); in do_rc_ack()
1304 qib_restart_rc(qp, psn, 0); in do_rc_ack()
1350 static void rdma_seq_err(struct qib_qp *qp, struct qib_ibport *ibp, u32 psn, in rdma_seq_err() argument
1363 while (qib_cmp24(psn, wqe->lpsn) > 0) { in rdma_seq_err()
1402 u32 psn, u32 hdrsize, u32 pmtu, in qib_rc_rcv_resp() argument
1419 if ((qib_cmp24(psn, qp->s_sending_psn) >= 0) && in qib_rc_rcv_resp()
1442 if (qib_cmp24(psn, qp->s_next_psn) >= 0) in qib_rc_rcv_resp()
1446 diff = qib_cmp24(psn, qp->s_last_psn); in qib_rc_rcv_resp()
1462 if (qib_cmp24(psn, qp->s_last_psn + 1) != 0) in qib_rc_rcv_resp()
1484 if (!do_rc_ack(qp, aeth, psn, opcode, val, rcd) || in qib_rc_rcv_resp()
1497 wqe, psn, pmtu); in qib_rc_rcv_resp()
1502 if (unlikely(qib_cmp24(psn, qp->s_last_psn + 1))) in qib_rc_rcv_resp()
1531 update_last_psn(qp, psn); in qib_rc_rcv_resp()
1538 if (!do_rc_ack(qp, aeth, psn, opcode, 0, rcd)) in qib_rc_rcv_resp()
1556 wqe, psn, pmtu); in qib_rc_rcv_resp()
1561 if (unlikely(qib_cmp24(psn, qp->s_last_psn + 1))) in qib_rc_rcv_resp()
1581 (void) do_rc_ack(qp, aeth, psn, in qib_rc_rcv_resp()
1591 rdma_seq_err(qp, ibp, psn, rcd); in qib_rc_rcv_resp()
1626 u32 psn, in qib_rc_rcv_error() argument
1699 if (qib_cmp24(psn, e->psn) >= 0) { in qib_rc_rcv_error()
1701 qib_cmp24(psn, e->lpsn) <= 0) in qib_rc_rcv_error()
1727 offset = ((psn - e->psn) & QIB_PSN_MASK) * in qib_rc_rcv_error()
1750 e->psn = psn; in qib_rc_rcv_error()
1775 if (!(psn & IB_BTH_REQ_ACK) || old_req) in qib_rc_rcv_error()
1795 qp->r_ack_psn = qp->s_ack_queue[i].psn - 1; in qib_rc_rcv_error()
1869 u32 psn; in qib_rc_rcv() local
1891 psn = be32_to_cpu(ohdr->bth[2]); in qib_rc_rcv()
1902 qib_rc_rcv_resp(ibp, ohdr, data, tlen, qp, opcode, psn, in qib_rc_rcv()
1908 diff = qib_cmp24(psn, qp->r_psn); in qib_rc_rcv()
1910 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()