Lines Matching refs:rcd
275 static inline void *qib_get_egrbuf(const struct qib_ctxtdata *rcd, u32 etail)
277 const u32 chunk = etail / rcd->rcvegrbufs_perchunk;
278 const u32 idx = etail % rcd->rcvegrbufs_perchunk;
280 return rcd->rcvegrbuf[chunk] + idx * rcd->dd->rcvegrbufsize;
300 * @rcd: the qlogic_ib context
309 u32 qib_kreceive(struct qib_ctxtdata *rcd, u32 *llic, u32 *npkts)
311 struct qib_devdata *dd = rcd->dd;
312 struct qib_pportdata *ppd = rcd->ppd;
324 l = rcd->head;
325 rhf_addr = (__le32 *) rcd->rcvhdrq + l + dd->rhf_offset;
328 if (seq != rcd->seq_cnt)
332 hdrqtail = qib_get_rcvhdrtail(rcd);
352 ebuf = qib_get_egrbuf(rcd, etail);
374 crcs += qib_rcv_hdrerr(ppd, rcd->ctxt, eflags, l,
377 qib_ib_rcv(rcd, hdr, ebuf, tlen);
387 rhf_addr = (__le32 *) rcd->rcvhdrq + l + dd->rhf_offset;
391 if (++rcd->seq_cnt > 13)
392 rcd->seq_cnt = 1;
393 if (seq != rcd->seq_cnt)
405 dd->f_update_usrhead(rcd, lval, updegr, etail);
410 rcd->head = l;
411 rcd->pkt_count += i;
417 list_for_each_entry_safe(qp, nqp, &rcd->qp_wait_list, rspwait) {
446 lval = (u64)rcd->head | dd->rhdrhead_intr_off;
447 dd->f_update_usrhead(rcd, lval, updegr, etail);
626 if (dd->rcd)
628 if (!dd->rcd[i] || !dd->rcd[i]->cnt)