Lines Matching refs:rcd

284 static inline void *qib_get_egrbuf(const struct qib_ctxtdata *rcd, u32 etail)  in qib_get_egrbuf()  argument
286 const u32 chunk = etail >> rcd->rcvegrbufs_perchunk_shift; in qib_get_egrbuf()
287 const u32 idx = etail & ((u32)rcd->rcvegrbufs_perchunk - 1); in qib_get_egrbuf()
289 return rcd->rcvegrbuf[chunk] + (idx << rcd->dd->rcvegrbufsize_shift); in qib_get_egrbuf()
296 static u32 qib_rcv_hdrerr(struct qib_ctxtdata *rcd, struct qib_pportdata *ppd, in qib_rcv_hdrerr() argument
406 &rcd->qp_wait_list); in qib_rcv_hdrerr()
446 u32 qib_kreceive(struct qib_ctxtdata *rcd, u32 *llic, u32 *npkts) in qib_kreceive() argument
448 struct qib_devdata *dd = rcd->dd; in qib_kreceive()
449 struct qib_pportdata *ppd = rcd->ppd; in qib_kreceive()
461 l = rcd->head; in qib_kreceive()
462 rhf_addr = (__le32 *) rcd->rcvhdrq + l + dd->rhf_offset; in qib_kreceive()
466 if (seq != rcd->seq_cnt) in qib_kreceive()
470 hdrqtail = qib_get_rcvhdrtail(rcd); in qib_kreceive()
490 ebuf = qib_get_egrbuf(rcd, etail); in qib_kreceive()
514 crcs += qib_rcv_hdrerr(rcd, ppd, rcd->ctxt, eflags, l, in qib_kreceive()
517 qib_ib_rcv(rcd, hdr, ebuf, tlen); in qib_kreceive()
530 rhf_addr = (__le32 *) rcd->rcvhdrq + l + dd->rhf_offset; in qib_kreceive()
534 if (++rcd->seq_cnt > 13) in qib_kreceive()
535 rcd->seq_cnt = 1; in qib_kreceive()
536 if (seq != rcd->seq_cnt) in qib_kreceive()
548 dd->f_update_usrhead(rcd, lval, updegr, etail, i); in qib_kreceive()
556 if (rcd->lookaside_qp) { in qib_kreceive()
557 if (atomic_dec_and_test(&rcd->lookaside_qp->refcount)) in qib_kreceive()
558 wake_up(&rcd->lookaside_qp->wait); in qib_kreceive()
559 rcd->lookaside_qp = NULL; in qib_kreceive()
562 rcd->head = l; in qib_kreceive()
568 list_for_each_entry_safe(qp, nqp, &rcd->qp_wait_list, rspwait) { in qib_kreceive()
597 lval = (u64)rcd->head | dd->rhdrhead_intr_off; in qib_kreceive()
598 dd->f_update_usrhead(rcd, lval, updegr, etail, i); in qib_kreceive()
779 if (dd->rcd) in qib_reset_device()
781 if (!dd->rcd[i] || !dd->rcd[i]->cnt) in qib_reset_device()