Lines Matching refs:ppd
143 struct qib_pportdata *ppd; in qib_create_ctxts() local
149 ppd = dd->pport + (i % dd->num_pports); in qib_create_ctxts()
151 rcd = qib_create_ctxtdata(ppd, i, dd->assigned_node_id); in qib_create_ctxts()
168 struct qib_ctxtdata *qib_create_ctxtdata(struct qib_pportdata *ppd, u32 ctxt, in qib_create_ctxtdata() argument
171 struct qib_devdata *dd = ppd->dd; in qib_create_ctxtdata()
178 rcd->ppd = ppd; in qib_create_ctxtdata()
224 int qib_init_pportdata(struct qib_pportdata *ppd, struct qib_devdata *dd, in qib_init_pportdata() argument
229 ppd->dd = dd; in qib_init_pportdata()
230 ppd->hw_pidx = hw_pidx; in qib_init_pportdata()
231 ppd->port = port; /* IB port number, not index */ in qib_init_pportdata()
233 spin_lock_init(&ppd->sdma_lock); in qib_init_pportdata()
234 spin_lock_init(&ppd->lflags_lock); in qib_init_pportdata()
235 spin_lock_init(&ppd->cc_shadow_lock); in qib_init_pportdata()
236 init_waitqueue_head(&ppd->state_wait); in qib_init_pportdata()
238 init_timer(&ppd->symerr_clear_timer); in qib_init_pportdata()
239 ppd->symerr_clear_timer.function = qib_clear_symerror_on_linkup; in qib_init_pportdata()
240 ppd->symerr_clear_timer.data = (unsigned long)ppd; in qib_init_pportdata()
242 ppd->qib_wq = NULL; in qib_init_pportdata()
243 ppd->ibport_data.pmastats = in qib_init_pportdata()
245 if (!ppd->ibport_data.pmastats) in qib_init_pportdata()
251 ppd->cc_supported_table_entries = min(max_t(int, qib_cc_table_size, in qib_init_pportdata()
254 ppd->cc_max_table_entries = in qib_init_pportdata()
255 ppd->cc_supported_table_entries/IB_CCT_ENTRIES; in qib_init_pportdata()
259 ppd->ccti_entries = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
260 if (!ppd->ccti_entries) { in qib_init_pportdata()
268 ppd->congestion_entries = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
269 if (!ppd->congestion_entries) { in qib_init_pportdata()
277 ppd->ccti_entries_shadow = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
278 if (!ppd->ccti_entries_shadow) { in qib_init_pportdata()
286 ppd->congestion_entries_shadow = kzalloc(size, GFP_KERNEL); in qib_init_pportdata()
287 if (!ppd->congestion_entries_shadow) { in qib_init_pportdata()
297 kfree(ppd->ccti_entries_shadow); in qib_init_pportdata()
298 ppd->ccti_entries_shadow = NULL; in qib_init_pportdata()
300 kfree(ppd->congestion_entries); in qib_init_pportdata()
301 ppd->congestion_entries = NULL; in qib_init_pportdata()
303 kfree(ppd->ccti_entries); in qib_init_pportdata()
304 ppd->ccti_entries = NULL; in qib_init_pportdata()
513 dd->f_rcvctrl(rcd->ppd, rcvmask, i); in enable_chip()
602 struct qib_pportdata *ppd; in qib_create_workqueues() local
605 ppd = dd->pport + pidx; in qib_create_workqueues()
606 if (!ppd->qib_wq) { in qib_create_workqueues()
611 ppd->qib_wq = in qib_create_workqueues()
613 if (!ppd->qib_wq) in qib_create_workqueues()
622 ppd = dd->pport + pidx; in qib_create_workqueues()
623 if (ppd->qib_wq) { in qib_create_workqueues()
624 destroy_workqueue(ppd->qib_wq); in qib_create_workqueues()
625 ppd->qib_wq = NULL; in qib_create_workqueues()
631 static void qib_free_pportdata(struct qib_pportdata *ppd) in qib_free_pportdata() argument
633 free_percpu(ppd->ibport_data.pmastats); in qib_free_pportdata()
634 ppd->ibport_data.pmastats = NULL; in qib_free_pportdata()
658 struct qib_pportdata *ppd; in qib_init() local
663 ppd = dd->pport + pidx; in qib_init()
664 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_init()
665 ppd->lflags &= ~(QIBL_LINKACTIVE | QIBL_LINKARMED | in qib_init()
668 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_init()
713 ppd = dd->pport + pidx; in qib_init()
720 ppd->init_ibmaxlen = min(mtu > 2048 ? in qib_init()
728 ppd->ibmaxlen = ppd->init_ibmaxlen; in qib_init()
729 qib_set_mtu(ppd, mtu); in qib_init()
731 spin_lock_irqsave(&ppd->lflags_lock, flags); in qib_init()
732 ppd->lflags |= QIBL_IB_LINK_DISABLED; in qib_init()
733 spin_unlock_irqrestore(&ppd->lflags_lock, flags); in qib_init()
735 lastfail = dd->f_bringup_serdes(ppd); in qib_init()
738 "Failed to bringup IB port %u\n", ppd->port); in qib_init()
763 ppd = dd->pport + pidx; in qib_init()
768 *ppd->statusp |= QIB_STATUS_CHIP_PRESENT | in qib_init()
770 if (!ppd->link_speed_enabled) in qib_init()
773 ret = qib_setup_sdma(ppd); in qib_init()
774 init_timer(&ppd->hol_timer); in qib_init()
775 ppd->hol_timer.function = qib_hol_event; in qib_init()
776 ppd->hol_timer.data = (unsigned long)ppd; in qib_init()
777 ppd->hol_state = QIB_HOL_UP; in qib_init()
834 struct qib_pportdata *ppd; in qib_stop_timers() local
846 ppd = dd->pport + pidx; in qib_stop_timers()
847 if (ppd->hol_timer.data) in qib_stop_timers()
848 del_timer_sync(&ppd->hol_timer); in qib_stop_timers()
849 if (ppd->led_override_timer.data) { in qib_stop_timers()
850 del_timer_sync(&ppd->led_override_timer); in qib_stop_timers()
851 atomic_set(&ppd->led_override_timer_active, 0); in qib_stop_timers()
853 if (ppd->symerr_clear_timer.data) in qib_stop_timers()
854 del_timer_sync(&ppd->symerr_clear_timer); in qib_stop_timers()
869 struct qib_pportdata *ppd; in qib_shutdown_device() local
873 ppd = dd->pport + pidx; in qib_shutdown_device()
875 spin_lock_irq(&ppd->lflags_lock); in qib_shutdown_device()
876 ppd->lflags &= ~(QIBL_LINKDOWN | QIBL_LINKINIT | in qib_shutdown_device()
879 spin_unlock_irq(&ppd->lflags_lock); in qib_shutdown_device()
880 *ppd->statusp &= ~(QIB_STATUS_IB_CONF | QIB_STATUS_IB_READY); in qib_shutdown_device()
888 ppd = dd->pport + pidx; in qib_shutdown_device()
889 dd->f_rcvctrl(ppd, QIB_RCVCTRL_TAILUPD_DIS | in qib_shutdown_device()
897 dd->f_sendctrl(ppd, QIB_SENDCTRL_CLEAR); in qib_shutdown_device()
907 ppd = dd->pport + pidx; in qib_shutdown_device()
908 dd->f_setextled(ppd, 0); /* make sure LEDs are off */ in qib_shutdown_device()
911 qib_teardown_sdma(ppd); in qib_shutdown_device()
913 dd->f_sendctrl(ppd, QIB_SENDCTRL_AVAIL_DIS | in qib_shutdown_device()
919 dd->f_quiet_serdes(ppd); in qib_shutdown_device()
921 if (ppd->qib_wq) { in qib_shutdown_device()
922 destroy_workqueue(ppd->qib_wq); in qib_shutdown_device()
923 ppd->qib_wq = NULL; in qib_shutdown_device()
925 qib_free_pportdata(ppd); in qib_shutdown_device()
1191 struct qib_pportdata *ppd; in qib_disable_after_error() local
1193 ppd = dd->pport + pidx; in qib_disable_after_error()
1195 qib_set_linkstate(ppd, in qib_disable_after_error()
1197 dd->f_setextled(ppd, 0); in qib_disable_after_error()
1199 *ppd->statusp &= ~QIB_STATUS_IB_READY; in qib_disable_after_error()