Lines Matching refs:ppd

140 		struct qib_pportdata *ppd;  in qib_create_ctxts()  local
146 ppd = dd->pport + (i % dd->num_pports); in qib_create_ctxts()
148 rcd = qib_create_ctxtdata(ppd, i, dd->assigned_node_id); in qib_create_ctxts()
165 struct qib_ctxtdata *qib_create_ctxtdata(struct qib_pportdata *ppd, u32 ctxt, in qib_create_ctxtdata() argument
168 struct qib_devdata *dd = ppd->dd; in qib_create_ctxtdata()
175 rcd->ppd = ppd; in qib_create_ctxtdata()
220 int qib_init_pportdata(struct qib_pportdata *ppd, struct qib_devdata *dd, in qib_init_pportdata() argument
225 ppd->dd = dd; in qib_init_pportdata()
226 ppd->hw_pidx = hw_pidx; in qib_init_pportdata()
227 ppd->port = port; /* IB port number, not index */ in qib_init_pportdata()
229 spin_lock_init(&ppd->sdma_lock); in qib_init_pportdata()
230 spin_lock_init(&ppd->lflags_lock); in qib_init_pportdata()
231 spin_lock_init(&ppd->cc_shadow_lock); in qib_init_pportdata()
232 init_waitqueue_head(&ppd->state_wait); in qib_init_pportdata()
234 timer_setup(&ppd->symerr_clear_timer, qib_clear_symerror_on_linkup, 0); in qib_init_pportdata()
236 ppd->qib_wq = NULL; in qib_init_pportdata()
237 ppd->ibport_data.pmastats = in qib_init_pportdata()
239 if (!ppd->ibport_data.pmastats) in qib_init_pportdata()
241 ppd->ibport_data.rvp.rc_acks = alloc_percpu(u64); in qib_init_pportdata()
242 ppd->ibport_data.rvp.rc_qacks = alloc_percpu(u64); in qib_init_pportdata()
243 ppd->ibport_data.rvp.rc_delayed_comp = alloc_percpu(u64); in qib_init_pportdata()
244 if (!(ppd->ibport_data.rvp.rc_acks) || in qib_init_pportdata()
245 !(ppd->ibport_data.rvp.rc_qacks) || in qib_init_pportdata()
246 !(ppd->ibport_data.rvp.rc_delayed_comp)) in qib_init_pportdata()
252 ppd->cc_supported_table_entries = min(max_t(int, qib_cc_table_size, in qib_init_pportdata()
255 ppd->cc_max_table_entries = in qib_init_pportdata()
256 ppd->cc_supported_table_entries/IB_CCT_ENTRIES; in qib_init_pportdata()
260 ppd->ccti_entries = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
261 if (!ppd->ccti_entries) in qib_init_pportdata()
265 ppd->congestion_entries = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
266 if (!ppd->congestion_entries) in qib_init_pportdata()
270 ppd->ccti_entries_shadow = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
271 if (!ppd->ccti_entries_shadow) in qib_init_pportdata()
275 ppd->congestion_entries_shadow = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
276 if (!ppd->congestion_entries_shadow) in qib_init_pportdata()
282 kfree(ppd->ccti_entries_shadow); in qib_init_pportdata()
283 ppd->ccti_entries_shadow = NULL; in qib_init_pportdata()
285 kfree(ppd->congestion_entries); in qib_init_pportdata()
286 ppd->congestion_entries = NULL; in qib_init_pportdata()
288 kfree(ppd->ccti_entries); in qib_init_pportdata()
289 ppd->ccti_entries = NULL; in qib_init_pportdata()
490 dd->f_rcvctrl(rcd->ppd, rcvmask, i); in enable_chip()
579 struct qib_pportdata *ppd; in qib_create_workqueues() local
582 ppd = dd->pport + pidx; in qib_create_workqueues()
583 if (!ppd->qib_wq) { in qib_create_workqueues()
588 ppd->qib_wq = alloc_ordered_workqueue(wq_name, in qib_create_workqueues()
590 if (!ppd->qib_wq) in qib_create_workqueues()
599 ppd = dd->pport + pidx; in qib_create_workqueues()
600 if (ppd->qib_wq) { in qib_create_workqueues()
601 destroy_workqueue(ppd->qib_wq); in qib_create_workqueues()
602 ppd->qib_wq = NULL; in qib_create_workqueues()
608 static void qib_free_pportdata(struct qib_pportdata *ppd) in qib_free_pportdata() argument
610 free_percpu(ppd->ibport_data.pmastats); in qib_free_pportdata()
611 free_percpu(ppd->ibport_data.rvp.rc_acks); in qib_free_pportdata()
612 free_percpu(ppd->ibport_data.rvp.rc_qacks); in qib_free_pportdata()
613 free_percpu(ppd->ibport_data.rvp.rc_delayed_comp); in qib_free_pportdata()
614 ppd->ibport_data.pmastats = NULL; in qib_free_pportdata()
638 struct qib_pportdata *ppd; in qib_init() local
643 ppd = dd->pport + pidx; in qib_init()
644 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_init()
645 ppd->lflags &= ~(QIBL_LINKACTIVE | QIBL_LINKARMED | in qib_init()
648 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_init()
691 ppd = dd->pport + pidx; in qib_init()
698 ppd->init_ibmaxlen = min(mtu > 2048 ? in qib_init()
706 ppd->ibmaxlen = ppd->init_ibmaxlen; in qib_init()
707 qib_set_mtu(ppd, mtu); in qib_init()
709 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_init()
710 ppd->lflags |= QIBL_IB_LINK_DISABLED; in qib_init()
711 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_init()
713 lastfail = dd->f_bringup_serdes(ppd); in qib_init()
716 "Failed to bringup IB port %u\n", ppd->port); in qib_init()
741 ppd = dd->pport + pidx; in qib_init()
746 *ppd->statusp |= QIB_STATUS_CHIP_PRESENT | in qib_init()
748 if (!ppd->link_speed_enabled) in qib_init()
751 ret = qib_setup_sdma(ppd); in qib_init()
752 timer_setup(&ppd->hol_timer, qib_hol_event, 0); in qib_init()
753 ppd->hol_state = QIB_HOL_UP; in qib_init()
798 struct qib_pportdata *ppd; in qib_stop_timers() local
806 ppd = dd->pport + pidx; in qib_stop_timers()
807 if (ppd->hol_timer.function) in qib_stop_timers()
808 del_timer_sync(&ppd->hol_timer); in qib_stop_timers()
809 if (ppd->led_override_timer.function) { in qib_stop_timers()
810 del_timer_sync(&ppd->led_override_timer); in qib_stop_timers()
811 atomic_set(&ppd->led_override_timer_active, 0); in qib_stop_timers()
813 if (ppd->symerr_clear_timer.function) in qib_stop_timers()
814 del_timer_sync(&ppd->symerr_clear_timer); in qib_stop_timers()
829 struct qib_pportdata *ppd; in qib_shutdown_device() local
837 ppd = dd->pport + pidx; in qib_shutdown_device()
839 spin_lock_irq(&ppd->lflags_lock); in qib_shutdown_device()
840 ppd->lflags &= ~(QIBL_LINKDOWN | QIBL_LINKINIT | in qib_shutdown_device()
843 spin_unlock_irq(&ppd->lflags_lock); in qib_shutdown_device()
844 *ppd->statusp &= ~(QIB_STATUS_IB_CONF | QIB_STATUS_IB_READY); in qib_shutdown_device()
852 ppd = dd->pport + pidx; in qib_shutdown_device()
853 dd->f_rcvctrl(ppd, QIB_RCVCTRL_TAILUPD_DIS | in qib_shutdown_device()
861 dd->f_sendctrl(ppd, QIB_SENDCTRL_CLEAR); in qib_shutdown_device()
871 ppd = dd->pport + pidx; in qib_shutdown_device()
872 dd->f_setextled(ppd, 0); /* make sure LEDs are off */ in qib_shutdown_device()
875 qib_teardown_sdma(ppd); in qib_shutdown_device()
877 dd->f_sendctrl(ppd, QIB_SENDCTRL_AVAIL_DIS | in qib_shutdown_device()
883 dd->f_quiet_serdes(ppd); in qib_shutdown_device()
885 if (ppd->qib_wq) { in qib_shutdown_device()
886 destroy_workqueue(ppd->qib_wq); in qib_shutdown_device()
887 ppd->qib_wq = NULL; in qib_shutdown_device()
889 qib_free_pportdata(ppd); in qib_shutdown_device()
1138 struct qib_pportdata *ppd; in qib_disable_after_error() local
1140 ppd = dd->pport + pidx; in qib_disable_after_error()
1142 qib_set_linkstate(ppd, in qib_disable_after_error()
1144 dd->f_setextled(ppd, 0); in qib_disable_after_error()
1146 *ppd->statusp &= ~QIB_STATUS_IB_READY; in qib_disable_after_error()