Lines Matching refs:ppd

72 static void signal_ib_event(struct qib_pportdata *ppd, enum ib_event_type ev)  in signal_ib_event()  argument
75 struct qib_devdata *dd = ppd->dd; in signal_ib_event()
78 event.element.port_num = ppd->port; in signal_ib_event()
83 void qib_handle_e_ibstatuschanged(struct qib_pportdata *ppd, u64 ibcs) in qib_handle_e_ibstatuschanged() argument
85 struct qib_devdata *dd = ppd->dd; in qib_handle_e_ibstatuschanged()
104 (!ppd->lflags || (ppd->lflags & QIBL_LINKDOWN)) && in qib_handle_e_ibstatuschanged()
107 if (dd->f_ib_updown(ppd, 1, ibcs)) in qib_handle_e_ibstatuschanged()
109 } else if (ppd->lflags & (QIBL_LINKINIT | QIBL_LINKARMED | in qib_handle_e_ibstatuschanged()
113 dd->f_ib_updown(ppd, 0, ibcs)) in qib_handle_e_ibstatuschanged()
115 qib_set_uevent_bits(ppd, _QIB_EVENT_LINKDOWN_BIT); in qib_handle_e_ibstatuschanged()
121 *ppd->statusp &= ~QIB_STATUS_IB_READY; in qib_handle_e_ibstatuschanged()
122 if (ppd->lflags & QIBL_LINKACTIVE) in qib_handle_e_ibstatuschanged()
124 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_handle_e_ibstatuschanged()
126 ppd->lflags |= QIBL_LINKARMED | QIBL_LINKV; in qib_handle_e_ibstatuschanged()
127 ppd->lflags &= ~(QIBL_LINKINIT | in qib_handle_e_ibstatuschanged()
130 ppd->lflags |= QIBL_LINKINIT | QIBL_LINKV; in qib_handle_e_ibstatuschanged()
131 ppd->lflags &= ~(QIBL_LINKARMED | in qib_handle_e_ibstatuschanged()
134 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_handle_e_ibstatuschanged()
136 mod_timer(&ppd->symerr_clear_timer, in qib_handle_e_ibstatuschanged()
139 !(ppd->lflags & QIBL_LINKACTIVE)) { in qib_handle_e_ibstatuschanged()
141 qib_hol_up(ppd); /* useful only for 6120 now */ in qib_handle_e_ibstatuschanged()
142 *ppd->statusp |= in qib_handle_e_ibstatuschanged()
144 qib_clear_symerror_on_linkup(&ppd->symerr_clear_timer); in qib_handle_e_ibstatuschanged()
145 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_handle_e_ibstatuschanged()
146 ppd->lflags |= QIBL_LINKACTIVE | QIBL_LINKV; in qib_handle_e_ibstatuschanged()
147 ppd->lflags &= ~(QIBL_LINKINIT | in qib_handle_e_ibstatuschanged()
149 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_handle_e_ibstatuschanged()
151 qib_sdma_process_event(ppd, in qib_handle_e_ibstatuschanged()
154 dd->f_setextled(ppd, 1); in qib_handle_e_ibstatuschanged()
157 if (ppd->lflags & QIBL_LINKACTIVE) in qib_handle_e_ibstatuschanged()
159 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_handle_e_ibstatuschanged()
160 ppd->lflags |= QIBL_LINKDOWN | QIBL_LINKV; in qib_handle_e_ibstatuschanged()
161 ppd->lflags &= ~(QIBL_LINKINIT | in qib_handle_e_ibstatuschanged()
163 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_handle_e_ibstatuschanged()
164 *ppd->statusp &= ~QIB_STATUS_IB_READY; in qib_handle_e_ibstatuschanged()
168 ppd->lastibcstat = ibcs; in qib_handle_e_ibstatuschanged()
170 signal_ib_event(ppd, ev); in qib_handle_e_ibstatuschanged()
175 struct qib_pportdata *ppd = from_timer(ppd, t, symerr_clear_timer); in qib_clear_symerror_on_linkup() local
177 if (ppd->lflags & QIBL_LINKACTIVE) in qib_clear_symerror_on_linkup()
180 ppd->ibport_data.z_symbol_error_counter = in qib_clear_symerror_on_linkup()
181 ppd->dd->f_portcntr(ppd, QIBPORTCNTR_IBSYMBOLERR); in qib_clear_symerror_on_linkup()
205 dd->f_rcvctrl(rcd->ppd, QIB_RCVCTRL_INTRAVAIL_DIS, in qib_handle_urcv()