Lines Matching refs:cpspec
866 if (!ppd->cpspec->kpregbase || !(ppd->dd->flags & QIB_PRESENT)) in qib_read_kreg_port()
868 return readq(&ppd->cpspec->kpregbase[regno]); in qib_read_kreg_port()
874 if (ppd->cpspec && ppd->dd && ppd->cpspec->kpregbase && in qib_write_kreg_port()
876 writeq(value, &ppd->cpspec->kpregbase[regno]); in qib_write_kreg_port()
914 if (ppd->cpspec && ppd->cpspec->cpregbase && in write_7322_creg_port()
916 writeq(value, &ppd->cpspec->cpregbase[regno]); in write_7322_creg_port()
922 if (!ppd->cpspec || !ppd->cpspec->cpregbase || in read_7322_creg_port()
925 return readq(&ppd->cpspec->cpregbase[regno]); in read_7322_creg_port()
931 if (!ppd->cpspec || !ppd->cpspec->cpregbase || in read_7322_creg32_port()
934 return readl(&ppd->cpspec->cpregbase[regno]); in read_7322_creg32_port()
1601 err_decode(ppd->cpspec->sdmamsgbuf, sizeof(ppd->cpspec->sdmamsgbuf), in sdma_7322_p_errors()
1615 errs, ppd->cpspec->sdmamsgbuf); in sdma_7322_p_errors()
1761 ppd->cpspec->chase_timer.expires = 0; in reenable_chase()
1769 ppd->cpspec->chase_end = 0; in disable_chase()
1776 ppd->cpspec->chase_timer.expires = jiffies + QIB_CHASE_DIS_TIME; in disable_chase()
1777 add_timer(&ppd->cpspec->chase_timer); in disable_chase()
1799 if (ppd->cpspec->chase_end && in handle_serdes_issues()
1800 time_after(tnow, ppd->cpspec->chase_end)) in handle_serdes_issues()
1802 else if (!ppd->cpspec->chase_end) in handle_serdes_issues()
1803 ppd->cpspec->chase_end = tnow + QIB_CHASE_TIME; in handle_serdes_issues()
1806 ppd->cpspec->chase_end = 0; in handle_serdes_issues()
1815 ppd->cpspec->qdr_reforce = 1; in handle_serdes_issues()
1818 } else if (ppd->cpspec->qdr_reforce && in handle_serdes_issues()
1846 if (!ppd->cpspec->qdr_dfe_on && in handle_serdes_issues()
1848 ppd->cpspec->qdr_dfe_on = 1; in handle_serdes_issues()
1849 ppd->cpspec->qdr_dfe_time = 0; in handle_serdes_issues()
1890 msg = ppd->cpspec->epmsgbuf; in handle_7322_p_errors()
1894 err_decode(msg, sizeof(ppd->cpspec->epmsgbuf), in handle_7322_p_errors()
1897 snprintf(msg, sizeof(ppd->cpspec->epmsgbuf), in handle_7322_p_errors()
1911 err_decode(msg, sizeof(ppd->cpspec->epmsgbuf), symptom, in handle_7322_p_errors()
1927 err_decode(msg, sizeof(ppd->cpspec->epmsgbuf), in handle_7322_p_errors()
1943 err_decode(msg, sizeof(ppd->cpspec->epmsgbuf), errs, in handle_7322_p_errors()
1974 if (!(ppd->cpspec->ibcctrl_a & in handle_7322_p_errors()
1981 ppd->cpspec->ibcctrl_a |= in handle_7322_p_errors()
1984 ppd->cpspec->ibcctrl_a); in handle_7322_p_errors()
2303 ppd->cpspec->ibcctrl_a &= in qib_set_ib_7322_lstate()
2310 qib_write_kreg_port(ppd, krp_ibcctrl_a, ppd->cpspec->ibcctrl_a | in qib_set_ib_7322_lstate()
2368 ppd->cpspec->ibcctrl_a = (ppd->cpspec->ibcctrl_a & in set_vls()
2371 qib_write_kreg_port(ppd, krp_ibcctrl_a, ppd->cpspec->ibcctrl_a); in set_vls()
2398 ppd->cpspec->ibcctrl_a &= ~SYM_MASK(IBCCtrlA_0, IBLinkEn); in qib_7322_bringup_serdes()
2399 qib_write_kreg_port(ppd, krp_ibcctrl_a, ppd->cpspec->ibcctrl_a); in qib_7322_bringup_serdes()
2408 ppd->cpspec->ibdeltainprog = 1; in qib_7322_bringup_serdes()
2409 ppd->cpspec->ibsymsnap = read_7322_creg32_port(ppd, in qib_7322_bringup_serdes()
2411 ppd->cpspec->iblnkerrsnap = read_7322_creg32_port(ppd, in qib_7322_bringup_serdes()
2433 ppd->cpspec->ibcctrl_a = ibc; /* without linkcmd or linkinitcmd! */ in qib_7322_bringup_serdes()
2441 if (!ppd->cpspec->ibcctrl_b) { in qib_7322_bringup_serdes()
2448 ppd->cpspec->ibcctrl_b = qib_read_kreg_port(ppd, in qib_7322_bringup_serdes()
2450 ppd->cpspec->ibcctrl_b &= ~(IBA7322_IBC_SPEED_QDR | in qib_7322_bringup_serdes()
2456 ppd->cpspec->ibcctrl_b |= in qib_7322_bringup_serdes()
2461 ppd->cpspec->ibcctrl_b |= (lse == QIB_IB_QDR) ? in qib_7322_bringup_serdes()
2469 ppd->cpspec->ibcctrl_b |= IBA7322_IBC_WIDTH_AUTONEG; in qib_7322_bringup_serdes()
2471 ppd->cpspec->ibcctrl_b |= in qib_7322_bringup_serdes()
2477 ppd->cpspec->ibcctrl_b |= (IBA7322_IBC_RXPOL_MASK | in qib_7322_bringup_serdes()
2480 qib_write_kreg_port(ppd, krp_ibcctrl_b, ppd->cpspec->ibcctrl_b); in qib_7322_bringup_serdes()
2502 ppd->cpspec->ibcctrl_a |= SYM_MASK(IBCCtrlA_0, IBLinkEn); in qib_7322_bringup_serdes()
2506 val = ppd->cpspec->ibcctrl_a | (QLOGIC_IB_IBCC_LINKINITCMD_DISABLE << in qib_7322_bringup_serdes()
2511 ppd->cpspec->ibcctrl_a = val & ~SYM_MASK(IBCCtrlA_0, LinkInitCmd); in qib_7322_bringup_serdes()
2543 wake_up(&ppd->cpspec->autoneg_wait); in qib_7322_mini_quiet_serdes()
2544 cancel_delayed_work_sync(&ppd->cpspec->autoneg_work); in qib_7322_mini_quiet_serdes()
2546 cancel_delayed_work_sync(&ppd->cpspec->ipg_work); in qib_7322_mini_quiet_serdes()
2548 ppd->cpspec->chase_end = 0; in qib_7322_mini_quiet_serdes()
2549 if (ppd->cpspec->chase_timer.data) /* if initted */ in qib_7322_mini_quiet_serdes()
2550 del_timer_sync(&ppd->cpspec->chase_timer); in qib_7322_mini_quiet_serdes()
2559 ppd->cpspec->ibcctrl_a &= ~SYM_MASK(IBCCtrlA_0, IBLinkEn); in qib_7322_mini_quiet_serdes()
2566 if (ppd->cpspec->ibsymdelta || ppd->cpspec->iblnkerrdelta || in qib_7322_mini_quiet_serdes()
2567 ppd->cpspec->ibdeltainprog || ppd->cpspec->iblnkdowndelta) { in qib_7322_mini_quiet_serdes()
2576 if (ppd->cpspec->ibsymdelta || ppd->cpspec->ibdeltainprog) { in qib_7322_mini_quiet_serdes()
2578 if (ppd->cpspec->ibdeltainprog) in qib_7322_mini_quiet_serdes()
2579 val -= val - ppd->cpspec->ibsymsnap; in qib_7322_mini_quiet_serdes()
2580 val -= ppd->cpspec->ibsymdelta; in qib_7322_mini_quiet_serdes()
2583 if (ppd->cpspec->iblnkerrdelta || ppd->cpspec->ibdeltainprog) { in qib_7322_mini_quiet_serdes()
2585 if (ppd->cpspec->ibdeltainprog) in qib_7322_mini_quiet_serdes()
2586 val -= val - ppd->cpspec->iblnkerrsnap; in qib_7322_mini_quiet_serdes()
2587 val -= ppd->cpspec->iblnkerrdelta; in qib_7322_mini_quiet_serdes()
2590 if (ppd->cpspec->iblnkdowndelta) { in qib_7322_mini_quiet_serdes()
2592 val += ppd->cpspec->iblnkdowndelta; in qib_7322_mini_quiet_serdes()
2905 kfree(dd->pport[i].cpspec->portcntrs); in qib_setup_7322_cleanup()
2911 qib_qsfp_deinit(&dd->pport[i].cpspec->qsfp_data); in qib_setup_7322_cleanup()
3014 qd = &ppd->cpspec->qsfp_data; in unknown_7322_gpio_intr()
3723 dd->pport->cpspec->ibdeltainprog = 0; in qib_do_7322_reset()
3724 dd->pport->cpspec->ibsymdelta = 0; in qib_do_7322_reset()
3725 dd->pport->cpspec->iblnkerrdelta = 0; in qib_do_7322_reset()
3726 dd->pport->cpspec->ibmalfdelta = 0; in qib_do_7322_reset()
4065 ret = SYM_FIELD(ppd->cpspec->ibcctrl_a, IBCCtrlA_0, in qib_7322_get_ib_cfg()
4070 ret = SYM_FIELD(ppd->cpspec->ibcctrl_a, IBCCtrlA_0, in qib_7322_get_ib_cfg()
4076 ret = (ppd->cpspec->ibcctrl_a & in qib_7322_get_ib_cfg()
4103 ret = (int)((ppd->cpspec->ibcctrl_b >> lsb) & maskr); in qib_7322_get_ib_cfg()
4194 maskr = SYM_FIELD(ppd->cpspec->ibcctrl_a, IBCCtrlA_0, in qib_7322_set_ib_cfg()
4197 ppd->cpspec->ibcctrl_a &= in qib_7322_set_ib_cfg()
4199 ppd->cpspec->ibcctrl_a |= (u64) val << in qib_7322_set_ib_cfg()
4202 ppd->cpspec->ibcctrl_a); in qib_7322_set_ib_cfg()
4208 maskr = SYM_FIELD(ppd->cpspec->ibcctrl_a, IBCCtrlA_0, in qib_7322_set_ib_cfg()
4211 ppd->cpspec->ibcctrl_a &= in qib_7322_set_ib_cfg()
4213 ppd->cpspec->ibcctrl_a |= (u64) val << in qib_7322_set_ib_cfg()
4216 ppd->cpspec->ibcctrl_a); in qib_7322_set_ib_cfg()
4231 ppd->cpspec->ibcctrl_a &= in qib_7322_set_ib_cfg()
4234 ppd->cpspec->ibcctrl_a |= in qib_7322_set_ib_cfg()
4236 qib_write_kreg_port(ppd, krp_ibcctrl_a, ppd->cpspec->ibcctrl_a); in qib_7322_set_ib_cfg()
4249 ppd->cpspec->ibcctrl_a &= ~SYM_MASK(IBCCtrlA_0, MaxPktLen); in qib_7322_set_ib_cfg()
4250 ppd->cpspec->ibcctrl_a |= (u64)val << in qib_7322_set_ib_cfg()
4253 ppd->cpspec->ibcctrl_a); in qib_7322_set_ib_cfg()
4261 ppd->cpspec->ibmalfusesnap = 1; in qib_7322_set_ib_cfg()
4262 ppd->cpspec->ibmalfsnap = read_7322_creg32_port(ppd, in qib_7322_set_ib_cfg()
4264 if (!ppd->cpspec->ibdeltainprog && in qib_7322_set_ib_cfg()
4266 ppd->cpspec->ibdeltainprog = 1; in qib_7322_set_ib_cfg()
4267 ppd->cpspec->ibsymsnap = in qib_7322_set_ib_cfg()
4270 ppd->cpspec->iblnkerrsnap = in qib_7322_set_ib_cfg()
4278 if (ppd->cpspec->ibmalfusesnap) { in qib_7322_set_ib_cfg()
4279 ppd->cpspec->ibmalfusesnap = 0; in qib_7322_set_ib_cfg()
4280 ppd->cpspec->ibmalfdelta += in qib_7322_set_ib_cfg()
4283 ppd->cpspec->ibmalfsnap; in qib_7322_set_ib_cfg()
4311 ppd->cpspec->chase_end = 0; in qib_7322_set_ib_cfg()
4316 if (ppd->cpspec->chase_timer.expires) { in qib_7322_set_ib_cfg()
4317 del_timer_sync(&ppd->cpspec->chase_timer); in qib_7322_set_ib_cfg()
4318 ppd->cpspec->chase_timer.expires = 0; in qib_7322_set_ib_cfg()
4354 cancel_delayed_work(&ppd->cpspec->ipg_work); in qib_7322_set_ib_cfg()
4355 ppd->cpspec->ipg_tries = 0; in qib_7322_set_ib_cfg()
4363 ppd->cpspec->ibcctrl_b &= ~(maskr << lsb); in qib_7322_set_ib_cfg()
4364 ppd->cpspec->ibcctrl_b |= (((u64) val & maskr) << lsb); in qib_7322_set_ib_cfg()
4365 qib_write_kreg_port(ppd, krp_ibcctrl_b, ppd->cpspec->ibcctrl_b); in qib_7322_set_ib_cfg()
4378 ppd->cpspec->ibcctrl_a |= SYM_MASK(IBCCtrlA_0, in qib_7322_set_loopback()
4384 ppd->cpspec->ibcctrl_a &= ~SYM_MASK(IBCCtrlA_0, in qib_7322_set_loopback()
4395 ppd->cpspec->ibcctrl_a); in qib_7322_set_loopback()
4396 ctrlb = ppd->cpspec->ibcctrl_b & ~(IBA7322_IBC_HRTBT_MASK in qib_7322_set_loopback()
4398 ppd->cpspec->ibcctrl_b = ctrlb | val; in qib_7322_set_loopback()
4400 ppd->cpspec->ibcctrl_b); in qib_7322_set_loopback()
4875 if (ppd->cpspec->ibdeltainprog) in qib_portcntr_7322()
4876 ret -= ret - ppd->cpspec->ibsymsnap; in qib_portcntr_7322()
4877 ret -= ppd->cpspec->ibsymdelta; in qib_portcntr_7322()
4879 if (ppd->cpspec->ibdeltainprog) in qib_portcntr_7322()
4880 ret -= ret - ppd->cpspec->iblnkerrsnap; in qib_portcntr_7322()
4881 ret -= ppd->cpspec->iblnkerrdelta; in qib_portcntr_7322()
4883 ret -= ppd->cpspec->ibmalfdelta; in qib_portcntr_7322()
4885 ret += ppd->cpspec->iblnkdowndelta; in qib_portcntr_7322()
5071 dd->pport[i].cpspec->portcntrs = kmalloc(dd->cspec->nportcntrs in init_7322_cntrnames()
5073 if (!dd->pport[i].cpspec->portcntrs) in init_7322_cntrnames()
5127 u64 *cntr = ppd->cpspec->portcntrs; in qib_read_7322portcntrs()
5197 if (ppd->cpspec->qdr_dfe_on && (ppd->link_speed_active & in qib_get_7322_faststats()
5201 ppd->cpspec->qdr_dfe_time && in qib_get_7322_faststats()
5202 time_is_before_jiffies(ppd->cpspec->qdr_dfe_time)) { in qib_get_7322_faststats()
5203 ppd->cpspec->qdr_dfe_on = 0; in qib_get_7322_faststats()
5252 ppd->cpspec->ibcctrl_a & in qib_7322_mini_pcs_reset()
5258 qib_write_kreg_port(ppd, krp_ibcctrl_a, ppd->cpspec->ibcctrl_a); in qib_7322_mini_pcs_reset()
5374 newctrlb = ppd->cpspec->ibcctrl_b & ~(IBA7322_IBC_SPEED_MASK | in set_7322_ibspeed_fast()
5388 if (newctrlb == ppd->cpspec->ibcctrl_b) in set_7322_ibspeed_fast()
5391 ppd->cpspec->ibcctrl_b = newctrlb; in set_7322_ibspeed_fast()
5392 qib_write_kreg_port(ppd, krp_ibcctrl_b, ppd->cpspec->ibcctrl_b); in set_7322_ibspeed_fast()
5413 queue_delayed_work(ib_wq, &ppd->cpspec->autoneg_work, in try_7322_autoneg()
5452 if (wait_event_timeout(ppd->cpspec->autoneg_wait, in autoneg_7322_work()
5459 if (wait_event_timeout(ppd->cpspec->autoneg_wait, in autoneg_7322_work()
5471 wait_event_timeout(ppd->cpspec->autoneg_wait, in autoneg_7322_work()
5478 if (ppd->cpspec->autoneg_tries == AUTONEG_TRIES) { in autoneg_7322_work()
5480 ppd->cpspec->autoneg_tries = 0; in autoneg_7322_work()
5539 delay = 2 << ppd->cpspec->ipg_tries; in try_7322_ipg()
5540 queue_delayed_work(ib_wq, &ppd->cpspec->ipg_work, in try_7322_ipg()
5555 && ++ppd->cpspec->ipg_tries <= 10) in ipg_7322_work()
5623 ppd->cpspec->ipg_tries = 0; in qib_7322_ib_updown()
5634 &ppd->cpspec->qsfp_data; in qib_7322_ib_updown()
5655 if (clr == ppd->cpspec->iblnkdownsnap) in qib_7322_ib_updown()
5656 ppd->cpspec->iblnkdowndelta++; in qib_7322_ib_updown()
5663 && ppd->cpspec->autoneg_tries < AUTONEG_TRIES) { in qib_7322_ib_updown()
5665 ++ppd->cpspec->autoneg_tries; in qib_7322_ib_updown()
5666 if (!ppd->cpspec->ibdeltainprog) { in qib_7322_ib_updown()
5667 ppd->cpspec->ibdeltainprog = 1; in qib_7322_ib_updown()
5668 ppd->cpspec->ibsymdelta += in qib_7322_ib_updown()
5671 ppd->cpspec->ibsymsnap; in qib_7322_ib_updown()
5672 ppd->cpspec->iblnkerrdelta += in qib_7322_ib_updown()
5675 ppd->cpspec->iblnkerrsnap; in qib_7322_ib_updown()
5692 ppd->cpspec->autoneg_tries = 0; in qib_7322_ib_updown()
5695 wake_up(&ppd->cpspec->autoneg_wait); in qib_7322_ib_updown()
5707 ppd->cpspec->ibcctrl_b |= IBA7322_IBC_IBTA_1_2_MASK; in qib_7322_ib_updown()
5712 if (ppd->dd->cspec->r1 && ppd->cpspec->ipg_tries <= 10) in qib_7322_ib_updown()
5714 if (!ppd->cpspec->recovery_init) in qib_7322_ib_updown()
5716 ppd->cpspec->qdr_dfe_time = jiffies + in qib_7322_ib_updown()
5719 ppd->cpspec->ibmalfusesnap = 0; in qib_7322_ib_updown()
5720 ppd->cpspec->ibmalfsnap = read_7322_creg32_port(ppd, in qib_7322_ib_updown()
5724 ppd->cpspec->iblnkdownsnap = in qib_7322_ib_updown()
5726 if (ppd->cpspec->ibdeltainprog) { in qib_7322_ib_updown()
5727 ppd->cpspec->ibdeltainprog = 0; in qib_7322_ib_updown()
5728 ppd->cpspec->ibsymdelta += read_7322_creg32_port(ppd, in qib_7322_ib_updown()
5729 crp_ibsymbolerr) - ppd->cpspec->ibsymsnap; in qib_7322_ib_updown()
5730 ppd->cpspec->iblnkerrdelta += read_7322_creg32_port(ppd, in qib_7322_ib_updown()
5731 crp_iblinkerrrecov) - ppd->cpspec->iblnkerrsnap; in qib_7322_ib_updown()
5734 !ppd->cpspec->ibdeltainprog && in qib_7322_ib_updown()
5736 ppd->cpspec->ibdeltainprog = 1; in qib_7322_ib_updown()
5737 ppd->cpspec->ibsymsnap = read_7322_creg32_port(ppd, in qib_7322_ib_updown()
5739 ppd->cpspec->iblnkerrsnap = read_7322_creg32_port(ppd, in qib_7322_ib_updown()
5870 dd->pport[0].cpspec->kpregbase = in qib_7322_set_baseaddrs()
5872 dd->pport[1].cpspec->kpregbase = in qib_7322_set_baseaddrs()
5875 dd->pport[0].cpspec->cpregbase = in qib_7322_set_baseaddrs()
5878 dd->pport[1].cpspec->cpregbase = in qib_7322_set_baseaddrs()
5917 if (!ppd->cpspec->kpregbase) in sendctrl_hook()
5920 psptr = ppd->cpspec->kpregbase + krp_sendctrl; in sendctrl_hook()
6012 ppd->cpspec->qsfp_data.modpresent = 0; in qsfp_7322_event()
6061 if (!ppd->cpspec->qsfp_data.modpresent && in qsfp_7322_event()
6063 ppd->cpspec->qsfp_data.modpresent = 1; in qsfp_7322_event()
6080 struct qib_qsfp_data *qd = &ppd->cpspec->qsfp_data; in qib_init_7322_qsfp()
6121 dd->pport[pidx].cpspec->no_eep = deflt; in set_no_qsfp_atten()
6168 ppd->cpspec->no_eep = val; in set_no_qsfp_atten()
6170 ppd->cpspec->h1_val = h1; in set_no_qsfp_atten()
6442 ppd[0].cpspec = (struct qib_chippport_specific *)(dd->cspec + 1); in qib_init_7322_variables()
6443 ppd[1].cpspec = &ppd[0].cpspec[1]; in qib_init_7322_variables()
6444 ppd[0].cpspec->ppd = &ppd[0]; /* for autoneg_7322_work() */ in qib_init_7322_variables()
6445 ppd[1].cpspec->ppd = &ppd[1]; /* for autoneg_7322_work() */ in qib_init_7322_variables()
6523 struct qib_chippport_specific *cp = ppd->cpspec; in qib_init_7322_variables()
6633 ppd->cpspec->no_eep = IS_QMH(dd) ? in qib_init_7322_variables()
7687 struct qib_qsfp_cache *qd = &ppd->cpspec->qsfp_data.cache; in find_best_ent()
7719 } else if (ppd->cpspec->no_eep < TXDDS_TABLE_SZ) { in find_best_ent()
7726 idx = ppd->cpspec->no_eep; in find_best_ent()
7730 } else if (ppd->cpspec->no_eep < (TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ)) { in find_best_ent()
7732 idx = ppd->cpspec->no_eep - TXDDS_TABLE_SZ; in find_best_ent()
7737 ppd->cpspec->no_eep < (TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ + in find_best_ent()
7739 idx = ppd->cpspec->no_eep - (TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ); in find_best_ent()
7997 ppd->cpspec->qdr_dfe_on = 1; in serdes_7322_init_old()
8188 ppd->cpspec->qdr_dfe_on = 1; in serdes_7322_init_new()
8300 ppd->cpspec->qdr_reforce = 0; in force_h1()
8306 set_man_code(ppd, chan, ppd->cpspec->h1_val); in force_h1()
8506 ppd->cpspec->recovery_init = 1; in setup_7322_link_recovery()
8564 ppd->cpspec->ibcctrl_a &= in check_7322_rxe_status()
8567 ppd->cpspec->ibcctrl_a); in check_7322_rxe_status()