Lines Matching refs:rcd
68 struct qib_ctxtdata *rcd);
2761 if (istat & INT_MASK_P(Err, 0) && dd->rcd[0]) in unlikely_7322_intr()
2762 handle_7322_p_errors(dd->rcd[0]->ppd); in unlikely_7322_intr()
2763 if (istat & INT_MASK_P(Err, 1) && dd->rcd[1]) in unlikely_7322_intr()
2764 handle_7322_p_errors(dd->rcd[1]->ppd); in unlikely_7322_intr()
2771 static void adjust_rcv_timeout(struct qib_ctxtdata *rcd, int npkts) in adjust_rcv_timeout() argument
2773 struct qib_devdata *dd = rcd->dd; in adjust_rcv_timeout()
2774 u32 timeout = dd->cspec->rcvavail_timeout[rcd->ctxt]; in adjust_rcv_timeout()
2787 dd->cspec->rcvavail_timeout[rcd->ctxt] = timeout; in adjust_rcv_timeout()
2788 qib_write_kreg(dd, kr_rcvavailtimeout + rcd->ctxt, timeout); in adjust_rcv_timeout()
2867 if (dd->rcd[i]) in qib_7322intr()
2868 qib_kreceive(dd->rcd[i], NULL, &npkts); in qib_7322intr()
2895 struct qib_ctxtdata *rcd = data; in qib_7322pintr() local
2896 struct qib_devdata *dd = rcd->dd; in qib_7322pintr()
2914 (1ULL << QIB_I_RCVURG_LSB)) << rcd->ctxt); in qib_7322pintr()
2916 qib_kreceive(rcd, NULL, &npkts); in qib_7322pintr()
3176 arg = dd->rcd[ctxt]; in qib_setup_7322_interrupt()
3513 struct qib_ctxtdata *rcd) in qib_7322_clear_tids() argument
3520 if (!dd->kregbase || !rcd) in qib_7322_clear_tids()
3523 ctxt = rcd->ctxt; in qib_7322_clear_tids()
3538 rcd->rcvegr_tid_base * sizeof(*tidbase)); in qib_7322_clear_tids()
3540 for (i = 0; i < rcd->rcvegrcnt; i++) in qib_7322_clear_tids()
3578 static int qib_7322_get_base_info(struct qib_ctxtdata *rcd, in qib_7322_get_base_info() argument
3584 if (rcd->dd->cspec->r1) in qib_7322_get_base_info()
3586 if (rcd->dd->flags & QIB_USE_SPCL_TRIG) in qib_7322_get_base_info()
4137 static void qib_update_7322_usrhead(struct qib_ctxtdata *rcd, u64 hd, in qib_update_7322_usrhead() argument
4145 adjust_rcv_timeout(rcd, npkts); in qib_update_7322_usrhead()
4147 qib_write_ureg(rcd->dd, ur_rcvegrindexhead, egrhd, rcd->ctxt); in qib_update_7322_usrhead()
4149 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt); in qib_update_7322_usrhead()
4150 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt); in qib_update_7322_usrhead()
4154 static u32 qib_7322_hdrqempty(struct qib_ctxtdata *rcd) in qib_7322_hdrqempty() argument
4158 head = qib_read_ureg32(rcd->dd, ur_rcvhdrhead, rcd->ctxt); in qib_7322_hdrqempty()
4159 if (rcd->rcvhdrtail_kvaddr) in qib_7322_hdrqempty()
4160 tail = qib_get_rcvhdrtail(rcd); in qib_7322_hdrqempty()
4162 tail = qib_read_ureg32(rcd->dd, ur_rcvhdrtail, rcd->ctxt); in qib_7322_hdrqempty()
4193 struct qib_ctxtdata *rcd; in rcvctrl_7322_mod() local
4213 rcd = NULL; in rcvctrl_7322_mod()
4216 rcd = dd->rcd[ctxt]; in rcvctrl_7322_mod()
4218 if ((op & QIB_RCVCTRL_CTXT_ENB) && rcd) { in rcvctrl_7322_mod()
4227 rcd->rcvhdrqtailaddr_phys); in rcvctrl_7322_mod()
4229 rcd->rcvhdrq_phys); in rcvctrl_7322_mod()
4230 rcd->seq_cnt = 1; in rcvctrl_7322_mod()
4252 if ((op & QIB_RCVCTRL_CTXT_ENB) && dd->rcd[ctxt]) { in rcvctrl_7322_mod()
4265 dd->rcd[ctxt]->head = val; in rcvctrl_7322_mod()
4271 dd->rcd[ctxt] && dd->rhdrhead_intr_off) { in rcvctrl_7322_mod()
4273 val = dd->rcd[ctxt]->head | dd->rhdrhead_intr_off; in rcvctrl_7322_mod()
4500 for (i = 0; dd->rcd && i < dd->first_user_ctxt; i++) { in qib_portcntr_7322()
4501 struct qib_ctxtdata *rcd = dd->rcd[i]; in qib_portcntr_7322() local
4503 if (!rcd || rcd->ppd != ppd) in qib_portcntr_7322()
6642 static void qib_7322_init_ctxt(struct qib_ctxtdata *rcd) in qib_7322_init_ctxt() argument
6644 if (rcd->ctxt < NUM_IB_PORTS) { in qib_7322_init_ctxt()
6645 if (rcd->dd->num_pports > 1) { in qib_7322_init_ctxt()
6646 rcd->rcvegrcnt = KCTXT0_EGRCNT / 2; in qib_7322_init_ctxt()
6647 rcd->rcvegr_tid_base = rcd->ctxt ? rcd->rcvegrcnt : 0; in qib_7322_init_ctxt()
6649 rcd->rcvegrcnt = KCTXT0_EGRCNT; in qib_7322_init_ctxt()
6650 rcd->rcvegr_tid_base = 0; in qib_7322_init_ctxt()
6653 rcd->rcvegrcnt = rcd->dd->cspec->rcvegrcnt; in qib_7322_init_ctxt()
6654 rcd->rcvegr_tid_base = KCTXT0_EGRCNT + in qib_7322_init_ctxt()
6655 (rcd->ctxt - NUM_IB_PORTS) * rcd->rcvegrcnt; in qib_7322_init_ctxt()
6661 u32 len, u32 which, struct qib_ctxtdata *rcd) in qib_7322_txchk_change() argument
6667 int wait = rcd != NULL; in qib_7322_txchk_change()
6740 if (dd->rcd[i] && dd->rcd[i]->subctxt_cnt && in qib_7322_txchk_change()
6741 ((dd->rcd[i]->piocnt / dd->rcd[i]->subctxt_cnt) - 1) in qib_7322_txchk_change()
6764 if (rcd && rcd->subctxt_cnt && ((rcd->piocnt in qib_7322_txchk_change()
6765 / rcd->subctxt_cnt) - 1) < dd->cspec->updthresh) { in qib_7322_txchk_change()
6766 dd->cspec->updthresh = (rcd->piocnt / in qib_7322_txchk_change()
6767 rcd->subctxt_cnt) - 1; in qib_7322_txchk_change()
6917 dd->rcd[i - ARRAY_SIZE(irq_table)])) in qib_init_iba7322_funcs()