Lines Matching refs:qp

309 		struct qib_qp *qp = NULL;  in qib_rcv_hdrerr()  local
353 qp = qib_lookup_qpn(ibp, qp_num); in qib_rcv_hdrerr()
354 if (!qp) in qib_rcv_hdrerr()
361 spin_lock(&qp->r_lock); in qib_rcv_hdrerr()
364 if (!(ib_qib_state_ops[qp->state] & in qib_rcv_hdrerr()
370 switch (qp->ibqp.qp_type) { in qib_rcv_hdrerr()
376 qp, in qib_rcv_hdrerr()
384 diff = qib_cmp24(psn, qp->r_psn); in qib_rcv_hdrerr()
385 if (!qp->r_nak_state && diff >= 0) { in qib_rcv_hdrerr()
387 qp->r_nak_state = in qib_rcv_hdrerr()
390 qp->r_ack_psn = qp->r_psn; in qib_rcv_hdrerr()
399 if (list_empty(&qp->rspwait)) { in qib_rcv_hdrerr()
400 qp->r_flags |= in qib_rcv_hdrerr()
403 &qp->refcount); in qib_rcv_hdrerr()
405 &qp->rspwait, in qib_rcv_hdrerr()
421 spin_unlock(&qp->r_lock); in qib_rcv_hdrerr()
426 if (atomic_dec_and_test(&qp->refcount)) in qib_rcv_hdrerr()
427 wake_up(&qp->wait); in qib_rcv_hdrerr()
459 struct qib_qp *qp, *nqp; in qib_kreceive() local
568 list_for_each_entry_safe(qp, nqp, &rcd->qp_wait_list, rspwait) { in qib_kreceive()
569 list_del_init(&qp->rspwait); in qib_kreceive()
570 if (qp->r_flags & QIB_R_RSP_NAK) { in qib_kreceive()
571 qp->r_flags &= ~QIB_R_RSP_NAK; in qib_kreceive()
572 qib_send_rc_ack(qp); in qib_kreceive()
574 if (qp->r_flags & QIB_R_RSP_SEND) { in qib_kreceive()
577 qp->r_flags &= ~QIB_R_RSP_SEND; in qib_kreceive()
578 spin_lock_irqsave(&qp->s_lock, flags); in qib_kreceive()
579 if (ib_qib_state_ops[qp->state] & in qib_kreceive()
581 qib_schedule_send(qp); in qib_kreceive()
582 spin_unlock_irqrestore(&qp->s_lock, flags); in qib_kreceive()
584 if (atomic_dec_and_test(&qp->refcount)) in qib_kreceive()
585 wake_up(&qp->wait); in qib_kreceive()