Lines Matching refs:ppd

97 	struct qib_pportdata *ppd;  in qib_count_active_units()  local
106 ppd = dd->pport + pidx; in qib_count_active_units()
107 if (ppd->lid && (ppd->lflags & (QIBL_LINKINIT | in qib_count_active_units()
129 struct qib_pportdata *ppd; in qib_count_units() local
137 ppd = dd->pport + pidx; in qib_count_units()
138 if (ppd->lid && (ppd->lflags & (QIBL_LINKINIT | in qib_count_units()
165 int qib_wait_linkstate(struct qib_pportdata *ppd, u32 state, int msecs) in qib_wait_linkstate() argument
170 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_wait_linkstate()
171 if (ppd->state_wanted) { in qib_wait_linkstate()
172 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_wait_linkstate()
176 ppd->state_wanted = state; in qib_wait_linkstate()
177 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_wait_linkstate()
178 wait_event_interruptible_timeout(ppd->state_wait, in qib_wait_linkstate()
179 (ppd->lflags & state), in qib_wait_linkstate()
181 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_wait_linkstate()
182 ppd->state_wanted = 0; in qib_wait_linkstate()
183 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_wait_linkstate()
185 if (!(ppd->lflags & state)) in qib_wait_linkstate()
193 int qib_set_linkstate(struct qib_pportdata *ppd, u8 newstate) in qib_set_linkstate() argument
197 struct qib_devdata *dd = ppd->dd; in qib_set_linkstate()
202 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LSTATE, in qib_set_linkstate()
209 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LSTATE, in qib_set_linkstate()
216 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LSTATE, in qib_set_linkstate()
223 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LSTATE, in qib_set_linkstate()
230 if (ppd->lflags & QIBL_LINKARMED) { in qib_set_linkstate()
234 if (!(ppd->lflags & (QIBL_LINKINIT | QIBL_LINKACTIVE))) { in qib_set_linkstate()
244 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_set_linkstate()
245 ppd->lflags &= ~QIBL_LINKV; in qib_set_linkstate()
246 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_set_linkstate()
247 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LSTATE, in qib_set_linkstate()
253 if (ppd->lflags & QIBL_LINKACTIVE) { in qib_set_linkstate()
257 if (!(ppd->lflags & QIBL_LINKARMED)) { in qib_set_linkstate()
261 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LSTATE, in qib_set_linkstate()
270 ret = qib_wait_linkstate(ppd, lstate, 10); in qib_set_linkstate()
292 static u32 qib_rcv_hdrerr(struct qib_ctxtdata *rcd, struct qib_pportdata *ppd, in qib_rcv_hdrerr() argument
304 struct qib_ibport *ibp = &ppd->ibport_data; in qib_rcv_hdrerr()
305 struct qib_devdata *dd = ppd->dd; in qib_rcv_hdrerr()
321 lid &= ~((1 << ppd->lmc) - 1); in qib_rcv_hdrerr()
322 if (unlikely(lid != ppd->lid)) in qib_rcv_hdrerr()
444 struct qib_pportdata *ppd = rcd->ppd; in qib_kreceive() local
509 crcs += qib_rcv_hdrerr(rcd, ppd, rcd->ctxt, eflags, l, in qib_kreceive()
599 int qib_set_mtu(struct qib_pportdata *ppd, u16 arg) in qib_set_mtu() argument
615 piosize = ppd->ibmaxlen; in qib_set_mtu()
616 ppd->ibmtu = arg; in qib_set_mtu()
620 if (piosize != ppd->init_ibmaxlen) { in qib_set_mtu()
621 if (arg > piosize && arg <= ppd->init_ibmaxlen) in qib_set_mtu()
622 piosize = ppd->init_ibmaxlen - 2 * sizeof(u32); in qib_set_mtu()
623 ppd->ibmaxlen = piosize; in qib_set_mtu()
625 } else if ((arg + QIB_PIO_MAXIBHDR) != ppd->ibmaxlen) { in qib_set_mtu()
627 ppd->ibmaxlen = piosize; in qib_set_mtu()
630 ppd->dd->f_set_ib_cfg(ppd, QIB_IB_CFG_MTU, 0); in qib_set_mtu()
638 int qib_set_lid(struct qib_pportdata *ppd, u32 lid, u8 lmc) in qib_set_lid() argument
640 struct qib_devdata *dd = ppd->dd; in qib_set_lid()
642 ppd->lid = lid; in qib_set_lid()
643 ppd->lmc = lmc; in qib_set_lid()
645 dd->f_set_ib_cfg(ppd, QIB_IB_CFG_LIDLMC, in qib_set_lid()
649 dd->unit, ppd->port, lid); in qib_set_lid()
668 struct qib_pportdata *ppd = from_timer(ppd, t, in qib_run_led_override() local
670 struct qib_devdata *dd = ppd->dd; in qib_run_led_override()
677 ph_idx = ppd->led_override_phase++ & 1; in qib_run_led_override()
678 ppd->led_override = ppd->led_override_vals[ph_idx]; in qib_run_led_override()
679 timeoff = ppd->led_override_timeoff; in qib_run_led_override()
681 dd->f_setextled(ppd, 1); in qib_run_led_override()
686 if (ppd->led_override_vals[0] || ppd->led_override_vals[1]) in qib_run_led_override()
687 mod_timer(&ppd->led_override_timer, jiffies + timeoff); in qib_run_led_override()
690 void qib_set_led_override(struct qib_pportdata *ppd, unsigned int val) in qib_set_led_override() argument
692 struct qib_devdata *dd = ppd->dd; in qib_set_led_override()
704 ppd->led_override_vals[0] = val & 0xF; in qib_set_led_override()
705 ppd->led_override_vals[1] = (val >> 4) & 0xF; in qib_set_led_override()
709 ppd->led_override_vals[0] = val & 0xF; in qib_set_led_override()
710 ppd->led_override_vals[1] = val & 0xF; in qib_set_led_override()
712 ppd->led_override_timeoff = timeoff; in qib_set_led_override()
718 if (atomic_inc_return(&ppd->led_override_timer_active) == 1) { in qib_set_led_override()
720 timer_setup(&ppd->led_override_timer, qib_run_led_override, 0); in qib_set_led_override()
721 ppd->led_override_timer.expires = jiffies + 1; in qib_set_led_override()
722 add_timer(&ppd->led_override_timer); in qib_set_led_override()
724 if (ppd->led_override_vals[0] || ppd->led_override_vals[1]) in qib_set_led_override()
725 mod_timer(&ppd->led_override_timer, jiffies + 1); in qib_set_led_override()
726 atomic_dec(&ppd->led_override_timer_active); in qib_set_led_override()
743 struct qib_pportdata *ppd; in qib_reset_device() local
774 ppd = dd->pport + pidx; in qib_reset_device()
775 if (atomic_read(&ppd->led_override_timer_active)) { in qib_reset_device()
777 del_timer_sync(&ppd->led_override_timer); in qib_reset_device()
778 atomic_set(&ppd->led_override_timer_active, 0); in qib_reset_device()
782 ppd->led_override = LED_OVER_BOTH_OFF; in qib_reset_device()
783 dd->f_setextled(ppd, 0); in qib_reset_device()
785 qib_teardown_sdma(ppd); in qib_reset_device()