Lines Matching defs:rcd

71 				  struct qib_ctxtdata *rcd);
2692 static void qib_update_rhdrq_dca(struct qib_ctxtdata *rcd, int cpu)
2694 struct qib_devdata *dd = rcd->dd;
2699 if (cspec->rhdr_cpu[rcd->ctxt] != cpu) {
2702 cspec->rhdr_cpu[rcd->ctxt] = cpu;
2703 rmp = &dca_rcvhdr_reg_map[rcd->ctxt];
2708 "Ctxt %d cpu %d dca %llx\n", rcd->ctxt, cpu,
2794 struct qib_ctxtdata *rcd = (struct qib_ctxtdata *)n->arg;
2796 qib_update_rhdrq_dca(rcd, cpu);
2811 struct qib_ctxtdata *rcd = (struct qib_ctxtdata *)n->arg;
2813 dd = rcd->dd;
3028 if (istat & INT_MASK_P(Err, 0) && dd->rcd[0])
3029 handle_7322_p_errors(dd->rcd[0]->ppd);
3030 if (istat & INT_MASK_P(Err, 1) && dd->rcd[1])
3031 handle_7322_p_errors(dd->rcd[1]->ppd);
3038 static void adjust_rcv_timeout(struct qib_ctxtdata *rcd, int npkts)
3040 struct qib_devdata *dd = rcd->dd;
3041 u32 timeout = dd->cspec->rcvavail_timeout[rcd->ctxt];
3054 dd->cspec->rcvavail_timeout[rcd->ctxt] = timeout;
3055 qib_write_kreg(dd, kr_rcvavailtimeout + rcd->ctxt, timeout);
3132 if (dd->rcd[i])
3133 qib_kreceive(dd->rcd[i], NULL, &npkts);
3160 struct qib_ctxtdata *rcd = data;
3161 struct qib_devdata *dd = rcd->dd;
3177 (1ULL << QIB_I_RCVURG_LSB)) << rcd->ctxt);
3179 qib_kreceive(rcd, NULL, &npkts);
3469 arg = dd->rcd[ctxt];
3805 struct qib_ctxtdata *rcd)
3812 if (!dd->kregbase || !rcd)
3815 ctxt = rcd->ctxt;
3830 rcd->rcvegr_tid_base * sizeof(*tidbase));
3832 for (i = 0; i < rcd->rcvegrcnt; i++)
3863 * @rcd: the qlogic_ib ctxt
3870 static int qib_7322_get_base_info(struct qib_ctxtdata *rcd,
3876 if (rcd->dd->cspec->r1)
3878 if (rcd->dd->flags & QIB_USE_SPCL_TRIG)
4429 static void qib_update_7322_usrhead(struct qib_ctxtdata *rcd, u64 hd,
4437 adjust_rcv_timeout(rcd, npkts);
4439 qib_write_ureg(rcd->dd, ur_rcvegrindexhead, egrhd, rcd->ctxt);
4440 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt);
4441 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt);
4444 static u32 qib_7322_hdrqempty(struct qib_ctxtdata *rcd)
4448 head = qib_read_ureg32(rcd->dd, ur_rcvhdrhead, rcd->ctxt);
4449 if (rcd->rcvhdrtail_kvaddr)
4450 tail = qib_get_rcvhdrtail(rcd);
4452 tail = qib_read_ureg32(rcd->dd, ur_rcvhdrtail, rcd->ctxt);
4483 struct qib_ctxtdata *rcd;
4503 rcd = NULL;
4506 rcd = dd->rcd[ctxt];
4508 if ((op & QIB_RCVCTRL_CTXT_ENB) && rcd) {
4517 rcd->rcvhdrqtailaddr_phys);
4519 rcd->rcvhdrq_phys);
4520 rcd->seq_cnt = 1;
4542 if ((op & QIB_RCVCTRL_CTXT_ENB) && dd->rcd[ctxt]) {
4555 dd->rcd[ctxt]->head = val;
4561 dd->rcd[ctxt] && dd->rhdrhead_intr_off) {
4563 val = dd->rcd[ctxt]->head | dd->rhdrhead_intr_off;
4790 for (i = 0; dd->rcd && i < dd->first_user_ctxt; i++) {
4791 struct qib_ctxtdata *rcd = dd->rcd[i];
4793 if (!rcd || rcd->ppd != ppd)
7005 static void qib_7322_init_ctxt(struct qib_ctxtdata *rcd)
7007 if (rcd->ctxt < NUM_IB_PORTS) {
7008 if (rcd->dd->num_pports > 1) {
7009 rcd->rcvegrcnt = KCTXT0_EGRCNT / 2;
7010 rcd->rcvegr_tid_base = rcd->ctxt ? rcd->rcvegrcnt : 0;
7012 rcd->rcvegrcnt = KCTXT0_EGRCNT;
7013 rcd->rcvegr_tid_base = 0;
7016 rcd->rcvegrcnt = rcd->dd->cspec->rcvegrcnt;
7017 rcd->rcvegr_tid_base = KCTXT0_EGRCNT +
7018 (rcd->ctxt - NUM_IB_PORTS) * rcd->rcvegrcnt;
7024 u32 len, u32 which, struct qib_ctxtdata *rcd)
7030 int wait = rcd != NULL;
7103 if (dd->rcd[i] && dd->rcd[i]->subctxt_cnt &&
7104 ((dd->rcd[i]->piocnt / dd->rcd[i]->subctxt_cnt) - 1)
7127 if (rcd && rcd->subctxt_cnt && ((rcd->piocnt
7128 / rcd->subctxt_cnt) - 1) < dd->cspec->updthresh) {
7129 dd->cspec->updthresh = (rcd->piocnt /
7130 rcd->subctxt_cnt) - 1;
7283 dd->rcd[i - ARRAY_SIZE(irq_table)]))