Lines Matching refs:rcd

71 				  struct qib_ctxtdata *rcd);
2705 static void qib_update_rhdrq_dca(struct qib_ctxtdata *rcd, int cpu) in qib_update_rhdrq_dca() argument
2707 struct qib_devdata *dd = rcd->dd; in qib_update_rhdrq_dca()
2712 if (cspec->rhdr_cpu[rcd->ctxt] != cpu) { in qib_update_rhdrq_dca()
2715 cspec->rhdr_cpu[rcd->ctxt] = cpu; in qib_update_rhdrq_dca()
2716 rmp = &dca_rcvhdr_reg_map[rcd->ctxt]; in qib_update_rhdrq_dca()
2721 "Ctxt %d cpu %d dca %llx\n", rcd->ctxt, cpu, in qib_update_rhdrq_dca()
2807 struct qib_ctxtdata *rcd = (struct qib_ctxtdata *)n->arg; in qib_irq_notifier_notify() local
2809 qib_update_rhdrq_dca(rcd, cpu); in qib_irq_notifier_notify()
2824 struct qib_ctxtdata *rcd = (struct qib_ctxtdata *)n->arg; in qib_irq_notifier_release() local
2826 dd = rcd->dd; in qib_irq_notifier_release()
3052 if (istat & INT_MASK_P(Err, 0) && dd->rcd[0]) in unlikely_7322_intr()
3053 handle_7322_p_errors(dd->rcd[0]->ppd); in unlikely_7322_intr()
3054 if (istat & INT_MASK_P(Err, 1) && dd->rcd[1]) in unlikely_7322_intr()
3055 handle_7322_p_errors(dd->rcd[1]->ppd); in unlikely_7322_intr()
3062 static void adjust_rcv_timeout(struct qib_ctxtdata *rcd, int npkts) in adjust_rcv_timeout() argument
3064 struct qib_devdata *dd = rcd->dd; in adjust_rcv_timeout()
3065 u32 timeout = dd->cspec->rcvavail_timeout[rcd->ctxt]; in adjust_rcv_timeout()
3078 dd->cspec->rcvavail_timeout[rcd->ctxt] = timeout; in adjust_rcv_timeout()
3079 qib_write_kreg(dd, kr_rcvavailtimeout + rcd->ctxt, timeout); in adjust_rcv_timeout()
3156 if (dd->rcd[i]) in qib_7322intr()
3157 qib_kreceive(dd->rcd[i], NULL, &npkts); in qib_7322intr()
3184 struct qib_ctxtdata *rcd = data; in qib_7322pintr() local
3185 struct qib_devdata *dd = rcd->dd; in qib_7322pintr()
3201 (1ULL << QIB_I_RCVURG_LSB)) << rcd->ctxt); in qib_7322pintr()
3203 qib_kreceive(rcd, NULL, &npkts); in qib_7322pintr()
3506 arg = dd->rcd[ctxt]; in qib_setup_7322_interrupt()
3857 struct qib_ctxtdata *rcd) in qib_7322_clear_tids() argument
3864 if (!dd->kregbase || !rcd) in qib_7322_clear_tids()
3867 ctxt = rcd->ctxt; in qib_7322_clear_tids()
3882 rcd->rcvegr_tid_base * sizeof(*tidbase)); in qib_7322_clear_tids()
3884 for (i = 0; i < rcd->rcvegrcnt; i++) in qib_7322_clear_tids()
3922 static int qib_7322_get_base_info(struct qib_ctxtdata *rcd, in qib_7322_get_base_info() argument
3928 if (rcd->dd->cspec->r1) in qib_7322_get_base_info()
3930 if (rcd->dd->flags & QIB_USE_SPCL_TRIG) in qib_7322_get_base_info()
4481 static void qib_update_7322_usrhead(struct qib_ctxtdata *rcd, u64 hd, in qib_update_7322_usrhead() argument
4489 adjust_rcv_timeout(rcd, npkts); in qib_update_7322_usrhead()
4491 qib_write_ureg(rcd->dd, ur_rcvegrindexhead, egrhd, rcd->ctxt); in qib_update_7322_usrhead()
4493 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt); in qib_update_7322_usrhead()
4494 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt); in qib_update_7322_usrhead()
4498 static u32 qib_7322_hdrqempty(struct qib_ctxtdata *rcd) in qib_7322_hdrqempty() argument
4502 head = qib_read_ureg32(rcd->dd, ur_rcvhdrhead, rcd->ctxt); in qib_7322_hdrqempty()
4503 if (rcd->rcvhdrtail_kvaddr) in qib_7322_hdrqempty()
4504 tail = qib_get_rcvhdrtail(rcd); in qib_7322_hdrqempty()
4506 tail = qib_read_ureg32(rcd->dd, ur_rcvhdrtail, rcd->ctxt); in qib_7322_hdrqempty()
4537 struct qib_ctxtdata *rcd; in rcvctrl_7322_mod() local
4557 rcd = NULL; in rcvctrl_7322_mod()
4560 rcd = dd->rcd[ctxt]; in rcvctrl_7322_mod()
4562 if ((op & QIB_RCVCTRL_CTXT_ENB) && rcd) { in rcvctrl_7322_mod()
4571 rcd->rcvhdrqtailaddr_phys); in rcvctrl_7322_mod()
4573 rcd->rcvhdrq_phys); in rcvctrl_7322_mod()
4574 rcd->seq_cnt = 1; in rcvctrl_7322_mod()
4596 if ((op & QIB_RCVCTRL_CTXT_ENB) && dd->rcd[ctxt]) { in rcvctrl_7322_mod()
4609 dd->rcd[ctxt]->head = val; in rcvctrl_7322_mod()
4615 dd->rcd[ctxt] && dd->rhdrhead_intr_off) { in rcvctrl_7322_mod()
4617 val = dd->rcd[ctxt]->head | dd->rhdrhead_intr_off; in rcvctrl_7322_mod()
4844 for (i = 0; dd->rcd && i < dd->first_user_ctxt; i++) { in qib_portcntr_7322()
4845 struct qib_ctxtdata *rcd = dd->rcd[i]; in qib_portcntr_7322() local
4847 if (!rcd || rcd->ppd != ppd) in qib_portcntr_7322()
7071 static void qib_7322_init_ctxt(struct qib_ctxtdata *rcd) in qib_7322_init_ctxt() argument
7073 if (rcd->ctxt < NUM_IB_PORTS) { in qib_7322_init_ctxt()
7074 if (rcd->dd->num_pports > 1) { in qib_7322_init_ctxt()
7075 rcd->rcvegrcnt = KCTXT0_EGRCNT / 2; in qib_7322_init_ctxt()
7076 rcd->rcvegr_tid_base = rcd->ctxt ? rcd->rcvegrcnt : 0; in qib_7322_init_ctxt()
7078 rcd->rcvegrcnt = KCTXT0_EGRCNT; in qib_7322_init_ctxt()
7079 rcd->rcvegr_tid_base = 0; in qib_7322_init_ctxt()
7082 rcd->rcvegrcnt = rcd->dd->cspec->rcvegrcnt; in qib_7322_init_ctxt()
7083 rcd->rcvegr_tid_base = KCTXT0_EGRCNT + in qib_7322_init_ctxt()
7084 (rcd->ctxt - NUM_IB_PORTS) * rcd->rcvegrcnt; in qib_7322_init_ctxt()
7090 u32 len, u32 which, struct qib_ctxtdata *rcd) in qib_7322_txchk_change() argument
7096 int wait = rcd != NULL; in qib_7322_txchk_change()
7169 if (dd->rcd[i] && dd->rcd[i]->subctxt_cnt && in qib_7322_txchk_change()
7170 ((dd->rcd[i]->piocnt / dd->rcd[i]->subctxt_cnt) - 1) in qib_7322_txchk_change()
7193 if (rcd && rcd->subctxt_cnt && ((rcd->piocnt in qib_7322_txchk_change()
7194 / rcd->subctxt_cnt) - 1) < dd->cspec->updthresh) { in qib_7322_txchk_change()
7195 dd->cspec->updthresh = (rcd->piocnt / in qib_7322_txchk_change()
7196 rcd->subctxt_cnt) - 1; in qib_7322_txchk_change()
7349 dd->rcd[i - ARRAY_SIZE(irq_table)])) in qib_init_iba7322_funcs()