Lines Matching refs:ppd
127 struct hfi1_pportdata *ppd) in hfi1_create_kctxt() argument
135 ret = hfi1_create_ctxtdata(ppd, dd->node, &rcd); in hfi1_create_kctxt()
345 int hfi1_create_ctxtdata(struct hfi1_pportdata *ppd, int numa, in hfi1_create_ctxtdata() argument
348 struct hfi1_devdata *dd = ppd->dd; in hfi1_create_ctxtdata()
372 rcd->ppd = ppd; in hfi1_create_ctxtdata()
524 void set_link_ipg(struct hfi1_pportdata *ppd) in set_link_ipg() argument
526 struct hfi1_devdata *dd = ppd->dd; in set_link_ipg()
539 cc_state = get_cc_state(ppd); in set_link_ipg()
550 u16 ccti = ppd->cca_timer[i].ccti; in set_link_ipg()
564 current_egress_rate = active_egress_rate(ppd); in set_link_ipg()
566 max_pkt_time = egress_cycles(ppd->ibmaxlen, current_egress_rate); in set_link_ipg()
579 struct hfi1_pportdata *ppd; in cca_timer_fn() local
587 ppd = cca_timer->ppd; in cca_timer_fn()
592 cc_state = get_cc_state(ppd); in cca_timer_fn()
608 spin_lock_irqsave(&ppd->cca_timer_lock, flags); in cca_timer_fn()
612 set_link_ipg(ppd); in cca_timer_fn()
622 spin_unlock_irqrestore(&ppd->cca_timer_lock, flags); in cca_timer_fn()
630 void hfi1_init_pportdata(struct pci_dev *pdev, struct hfi1_pportdata *ppd, in hfi1_init_pportdata() argument
637 ppd->dd = dd; in hfi1_init_pportdata()
638 ppd->hw_pidx = hw_pidx; in hfi1_init_pportdata()
639 ppd->port = port; /* IB port number, not index */ in hfi1_init_pportdata()
640 ppd->prev_link_width = LINK_WIDTH_DEFAULT; in hfi1_init_pportdata()
646 ppd->port_vl_xmit_wait_last[i] = 0; in hfi1_init_pportdata()
647 ppd->vl_xmit_flit_cnt[i] = 0; in hfi1_init_pportdata()
652 ppd->pkeys[default_pkey_idx] = DEFAULT_P_KEY; in hfi1_init_pportdata()
653 ppd->part_enforce |= HFI1_PART_ENFORCE_IN; in hfi1_init_pportdata()
654 ppd->pkeys[0] = 0x8001; in hfi1_init_pportdata()
656 INIT_WORK(&ppd->link_vc_work, handle_verify_cap); in hfi1_init_pportdata()
657 INIT_WORK(&ppd->link_up_work, handle_link_up); in hfi1_init_pportdata()
658 INIT_WORK(&ppd->link_down_work, handle_link_down); in hfi1_init_pportdata()
659 INIT_WORK(&ppd->freeze_work, handle_freeze); in hfi1_init_pportdata()
660 INIT_WORK(&ppd->link_downgrade_work, handle_link_downgrade); in hfi1_init_pportdata()
661 INIT_WORK(&ppd->sma_message_work, handle_sma_message); in hfi1_init_pportdata()
662 INIT_WORK(&ppd->link_bounce_work, handle_link_bounce); in hfi1_init_pportdata()
663 INIT_DELAYED_WORK(&ppd->start_link_work, handle_start_link); in hfi1_init_pportdata()
664 INIT_WORK(&ppd->linkstate_active_work, receive_interrupt_work); in hfi1_init_pportdata()
665 INIT_WORK(&ppd->qsfp_info.qsfp_work, qsfp_event); in hfi1_init_pportdata()
667 mutex_init(&ppd->hls_lock); in hfi1_init_pportdata()
668 spin_lock_init(&ppd->qsfp_info.qsfp_lock); in hfi1_init_pportdata()
670 ppd->qsfp_info.ppd = ppd; in hfi1_init_pportdata()
671 ppd->sm_trap_qp = 0x0; in hfi1_init_pportdata()
672 ppd->sa_qp = 0x1; in hfi1_init_pportdata()
674 ppd->hfi1_wq = NULL; in hfi1_init_pportdata()
676 spin_lock_init(&ppd->cca_timer_lock); in hfi1_init_pportdata()
679 hrtimer_init(&ppd->cca_timer[i].hrtimer, CLOCK_MONOTONIC, in hfi1_init_pportdata()
681 ppd->cca_timer[i].ppd = ppd; in hfi1_init_pportdata()
682 ppd->cca_timer[i].sl = i; in hfi1_init_pportdata()
683 ppd->cca_timer[i].ccti = 0; in hfi1_init_pportdata()
684 ppd->cca_timer[i].hrtimer.function = cca_timer_fn; in hfi1_init_pportdata()
687 ppd->cc_max_table_entries = IB_CC_TABLE_CAP_DEFAULT; in hfi1_init_pportdata()
689 spin_lock_init(&ppd->cc_state_lock); in hfi1_init_pportdata()
690 spin_lock_init(&ppd->cc_log_lock); in hfi1_init_pportdata()
692 RCU_INIT_POINTER(ppd->cc_state, cc_state); in hfi1_init_pportdata()
782 struct hfi1_pportdata *ppd; in create_workqueues() local
785 ppd = dd->pport + pidx; in create_workqueues()
786 if (!ppd->hfi1_wq) { in create_workqueues()
787 ppd->hfi1_wq = in create_workqueues()
794 if (!ppd->hfi1_wq) in create_workqueues()
797 if (!ppd->link_wq) { in create_workqueues()
802 ppd->link_wq = in create_workqueues()
808 if (!ppd->link_wq) in create_workqueues()
816 ppd = dd->pport + pidx; in create_workqueues()
817 if (ppd->hfi1_wq) { in create_workqueues()
818 destroy_workqueue(ppd->hfi1_wq); in create_workqueues()
819 ppd->hfi1_wq = NULL; in create_workqueues()
821 if (ppd->link_wq) { in create_workqueues()
822 destroy_workqueue(ppd->link_wq); in create_workqueues()
823 ppd->link_wq = NULL; in create_workqueues()
836 struct hfi1_pportdata *ppd; in destroy_workqueues() local
839 ppd = dd->pport + pidx; in destroy_workqueues()
841 if (ppd->hfi1_wq) { in destroy_workqueues()
842 destroy_workqueue(ppd->hfi1_wq); in destroy_workqueues()
843 ppd->hfi1_wq = NULL; in destroy_workqueues()
845 if (ppd->link_wq) { in destroy_workqueues()
846 destroy_workqueue(ppd->link_wq); in destroy_workqueues()
847 ppd->link_wq = NULL; in destroy_workqueues()
890 struct hfi1_pportdata *ppd; in hfi1_init() local
908 ppd = dd->pport + pidx; in hfi1_init()
909 ppd->linkup = 0; in hfi1_init()
959 ppd = dd->pport + pidx; in hfi1_init()
962 ppd->statusp = &dd->status->port; in hfi1_init()
964 set_mtu(ppd); in hfi1_init()
985 ppd = dd->pport + pidx; in hfi1_init()
991 lastfail = bringup_serdes(ppd); in hfi1_init()
995 ppd->port); in hfi1_init()
1001 if (ppd->statusp) in hfi1_init()
1002 *ppd->statusp |= HFI1_STATUS_CHIP_PRESENT | in hfi1_init()
1004 if (!ppd->link_speed_enabled) in hfi1_init()
1024 struct hfi1_pportdata *ppd; in stop_timers() local
1028 ppd = dd->pport + pidx; in stop_timers()
1029 if (ppd->led_override_timer.function) { in stop_timers()
1030 del_timer_sync(&ppd->led_override_timer); in stop_timers()
1031 atomic_set(&ppd->led_override_timer_active, 0); in stop_timers()
1047 struct hfi1_pportdata *ppd; in shutdown_device() local
1057 ppd = dd->pport + pidx; in shutdown_device()
1059 ppd->linkup = 0; in shutdown_device()
1060 if (ppd->statusp) in shutdown_device()
1061 *ppd->statusp &= ~(HFI1_STATUS_IB_CONF | in shutdown_device()
1071 ppd = dd->pport + pidx; in shutdown_device()
1096 ppd = dd->pport + pidx; in shutdown_device()
1104 shutdown_led_override(ppd); in shutdown_device()
1110 hfi1_quiet_serdes(ppd); in shutdown_device()
1111 if (ppd->hfi1_wq) in shutdown_device()
1112 flush_workqueue(ppd->hfi1_wq); in shutdown_device()
1113 if (ppd->link_wq) in shutdown_device()
1114 flush_workqueue(ppd->link_wq); in shutdown_device()
1364 struct hfi1_pportdata *ppd; in hfi1_disable_after_error() local
1366 ppd = dd->pport + pidx; in hfi1_disable_after_error()
1368 set_link_state(ppd, HLS_DN_DISABLE); in hfi1_disable_after_error()
1370 if (ppd->statusp) in hfi1_disable_after_error()
1371 *ppd->statusp &= ~HFI1_STATUS_IB_READY; in hfi1_disable_after_error()
1529 struct hfi1_pportdata *ppd = &dd->pport[pidx]; in cleanup_device_data() local
1533 if (ppd->statusp) in cleanup_device_data()
1534 *ppd->statusp &= ~HFI1_STATUS_CHIP_PRESENT; in cleanup_device_data()
1537 hrtimer_cancel(&ppd->cca_timer[i].hrtimer); in cleanup_device_data()
1539 spin_lock(&ppd->cc_state_lock); in cleanup_device_data()
1540 cc_state = get_cc_state_protected(ppd); in cleanup_device_data()
1541 RCU_INIT_POINTER(ppd->cc_state, NULL); in cleanup_device_data()
1542 spin_unlock(&ppd->cc_state_lock); in cleanup_device_data()
1602 struct hfi1_pportdata *ppd; in init_one() local
1708 ppd = dd->pport + pidx; in init_one()
1709 if (ppd->hfi1_wq) { in init_one()
1710 destroy_workqueue(ppd->hfi1_wq); in init_one()
1711 ppd->hfi1_wq = NULL; in init_one()
1713 if (ppd->link_wq) { in init_one()
1714 destroy_workqueue(ppd->link_wq); in init_one()
1715 ppd->link_wq = NULL; in init_one()