Lines Matching refs:np
207 static void sm_ph_lem_start(struct s_smc *smc, int np, int threshold);
208 static void sm_ph_lem_stop(struct s_smc *smc, int np);
221 EV_TOKEN(EVENT_PCM+phy->np,event)) ; in start_pcm_timer0()
240 int np ; in pcm_init() local
244 for (np = 0,phy = smc->y ; np < NUMPHYS ; np++,phy++) { in pcm_init()
248 phy->np = np ; in pcm_init()
252 mib->fddiPORTMy_Type = (np == PS) ? TS : TM ; in pcm_init()
255 mib->fddiPORTMy_Type = (np == PA) ? TA : in pcm_init()
256 (np == PB) ? TB : TM ; in pcm_init()
263 mib->fddiPORTMy_Type = (np == PS) ? TS : TNONE ; in pcm_init()
264 mib->fddiPORTHardwarePresent = (np == PS) ? TRUE : in pcm_init()
273 mib->fddiPORTMy_Type = (np == PB) ? TB : TA ; in pcm_init()
385 if (np >= PM) in pcm_init()
386 phy->phy_name = '0' + np - PM ; in pcm_init()
388 phy->phy_name = 'A' + np ; in pcm_init()
536 int np = phy->np ; /* PHY index */ in plc_send_bits() local
546 if (inpw(PLC(np,PL_STATUS_B)) & PL_PCM_SIGNAL) { in plc_send_bits()
553 outpw(PLC(np,PL_VECTOR_LEN),len-1) ; /* len=nr-1 */ in plc_send_bits()
554 outpw(PLC(np,PL_XMIT_VECTOR),n) ; in plc_send_bits()
595 void pcm(struct s_smc *smc, const int np, int event) in pcm() argument
606 if ((np != PS) && (smc->s.sas == SMT_SAS)) in pcm()
609 phy = &smc->y[np] ; in pcm()
641 (int) (INDEX_PORT+ phy->np),0) ; in pcm()
668 pcm_state_change(smc,np,state) ; in pcm()
677 int np = phy->np ; /* PHY index */ in pcm_fsm() local
715 CLEAR(PLC(np,PL_CNTRL_B),PL_LONG) ; in pcm_fsm()
723 outpw(PLC(np,PL_CNTRL_A),0) ; in pcm_fsm()
724 CLEAR(PLC(np,PL_CNTRL_B),PL_PC_JOIN) ; in pcm_fsm()
725 CLEAR(PLC(np,PL_CNTRL_B),PL_LONG) ; in pcm_fsm()
726 sm_ph_lem_stop(smc,np) ; /* disable LEM */ in pcm_fsm()
729 queue_event(smc,EVENT_CFM,CF_JOIN+np) ; in pcm_fsm()
730 plc_go_state(smc,np,PL_PCM_STOP) ; in pcm_fsm()
745 plc_go_state(smc,np,0) ; in pcm_fsm()
746 CLEAR(PLC(np,PL_CNTRL_B),PL_PC_JOIN) ; in pcm_fsm()
747 CLEAR(PLC(np,PL_CNTRL_B),PL_LONG) ; in pcm_fsm()
748 sm_ph_lem_stop(smc,np) ; /* disable LEM */ in pcm_fsm()
753 if (inpw(PLC(np,PL_STATUS_B)) & PL_PCM_SIGNAL) { in pcm_fsm()
754 plc_go_state(smc,np,PL_PCM_STOP) ; in pcm_fsm()
761 plc_go_state(smc,np,PL_PCM_STOP) ; in pcm_fsm()
767 queue_event(smc,EVENT_CFM,CF_JOIN+np) ; in pcm_fsm()
775 outpw(PLC(np,PL_INTR_MASK),plc_imsk_na) ; in pcm_fsm()
782 (void)inpw(PLC(np,PL_INTR_EVENT)) ; in pcm_fsm()
785 plc_rev = inpw(PLC(np,PL_STATUS_A)) & PLC_REV_MASK ; in pcm_fsm()
814 plc_go_state(smc,np,PL_PCM_START) ; in pcm_fsm()
820 if (!(inpw(PLC(np,PL_STATUS_B)) & PL_PCM_SIGNAL)) in pcm_fsm()
822 if (((inpw(PLC(np,PL_STATUS_A)) & PLC_REV_MASK) != in pcm_fsm()
824 !(inpw(PLC(np,PL_STATUS_B)) & PL_PCM_SIGNAL)) in pcm_fsm()
846 plc_go_state(smc,np,PL_PCM_TRACE) ; in pcm_fsm()
893 sm_ph_lem_start(smc,np,(int)smc->s.lct_short) ; /* enable LEM */ in pcm_fsm()
895 i = inpw(PLC(np,PL_CNTRL_B)) & ~PL_PC_LOOP ; in pcm_fsm()
896 outpw(PLC(np,PL_CNTRL_B),i) ; /* must be cleared */ in pcm_fsm()
897 outpw(PLC(np,PL_CNTRL_B),i | PL_RLBP) ; in pcm_fsm()
917 plc_go_state(smc,np,PL_PCM_STOP) ; in pcm_fsm()
944 if (smc->s.sas == SMT_DAS && np == PB && in pcm_fsm()
947 SETMASK(PLC(np,PL_CNTRL_A), in pcm_fsm()
949 SETMASK(PLC(np,PL_CNTRL_B), in pcm_fsm()
952 SETMASK(PLC(np,PL_CNTRL_B),PL_PC_JOIN,PL_PC_JOIN) ; in pcm_fsm()
953 SETMASK(PLC(np,PL_CNTRL_B),PL_PC_JOIN,PL_PC_JOIN) ; in pcm_fsm()
963 queue_event(smc,EVENT_CFM,CF_JOIN+np) ; in pcm_fsm()
983 sm_ph_lem_start(smc,(int)phy->np,LCT_LEM_MAX) ; in pcm_fsm()
989 outpw(PLC(np,PL_INTR_MASK),plc_imsk_act) ; in pcm_fsm()
1005 CLEAR(PLC(np,PL_CNTRL_B),PL_PC_JOIN) ; in pcm_fsm()
1006 CLEAR(PLC(np,PL_CNTRL_B),PL_LONG) ; in pcm_fsm()
1007 CLEAR(PLC(np,PL_INTR_MASK),PL_LE_CTR) ; /* disable LEM int. */ in pcm_fsm()
1008 sm_ph_lem_stop(smc,np) ; /* disable LEM */ in pcm_fsm()
1011 queue_event(smc,EVENT_CFM,CF_JOIN+np) ; in pcm_fsm()
1012 plc_go_state(smc,np,PL_PCM_STOP) ; in pcm_fsm()
1014 SETMASK(PLC(np,PL_CNTRL_B),PL_MAINT,PL_MAINT) ; in pcm_fsm()
1015 sm_ph_linestate(smc,np,(int) MIB2LS(mib->fddiPORTMaint_LS)) ; in pcm_fsm()
1016 outpw(PLC(np,PL_CNTRL_A),PL_SC_BYPASS) ; in pcm_fsm()
1090 errors = inpw(PLC(((int) phy->np),PL_LINK_ERR_CTR)) ; in lem_evaluate()
1129 DB_PCMN(1,"LEM %c :\n",phy->np == PB? 'B' : 'A',0) ; in lem_evaluate()
1148 (int) (INDEX_PORT+ phy->np) ,cond) ; in lem_evaluate()
1164 phy->np, mib->fddiPORTLer_Cutoff) ; in lem_evaluate()
1167 smt_port_off_event(smc,phy->np); in lem_evaluate()
1169 queue_event(smc,(int)(EVENT_PCM+phy->np),PC_START) ; in lem_evaluate()
1179 int np ; in sm_lem_evaluate() local
1181 for (np = 0 ; np < NUMPHYS ; np++) in sm_lem_evaluate()
1182 lem_evaluate(smc,&smc->y[np]) ; in sm_lem_evaluate()
1194 errors = inpw(PLC(((int)phy->np),PL_LINK_ERR_CTR)) ; in lem_check_lct()
1229 static void sm_ph_lem_start(struct s_smc *smc, int np, int threshold) in sm_ph_lem_start() argument
1231 struct lem_counter *lem = &smc->y[np].lem ; in sm_ph_lem_start()
1240 outpw(PLC(np,PL_LE_THRESHOLD),threshold) ; in sm_ph_lem_start()
1241 (void)inpw(PLC(np,PL_LINK_ERR_CTR)) ; /* clear error counter */ in sm_ph_lem_start()
1244 SETMASK(PLC(np,PL_INTR_MASK),PL_LE_CTR,PL_LE_CTR) ; in sm_ph_lem_start()
1247 static void sm_ph_lem_stop(struct s_smc *smc, int np) in sm_ph_lem_stop() argument
1249 struct lem_counter *lem = &smc->y[np].lem ; in sm_ph_lem_stop()
1252 CLEAR(PLC(np,PL_INTR_MASK),PL_LE_CTR) ; in sm_ph_lem_stop()
1352 outpw(PLC((int)phy->np,PL_LC_LENGTH), TP_LC_LENGTH ) ; in pc_rcode_actions()
1356 outpw(PLC((int)phy->np,PL_LC_LENGTH), TP_LC_LONGLN ) ; in pc_rcode_actions()
1360 SETMASK(PLC((int)phy->np,PL_CNTRL_B),PL_LONG,PL_LONG) ; in pc_rcode_actions()
1364 SETMASK(PLC((int)phy->np,PL_CNTRL_B),PL_LONG,PL_LONG) ; in pc_rcode_actions()
1384 queue_event(smc,(int)(EVENT_PCM+phy->np),PC_START) ; in pc_rcode_actions()
1412 int np = phy->np ; in pc_tcode_actions() local
1488 (int) (INDEX_PORT+ phy->np) ,0) ; in pc_tcode_actions()
1546 queue_event(smc,EVENT_PCM+np,PC_START) ; in pc_tcode_actions()
1556 if ((np == PB) || ((np == PA) && in pc_tcode_actions()
1562 if (np == PB) in pc_tcode_actions()
1567 if (np == PS) in pc_tcode_actions()
1575 if (np == PB) in pc_tcode_actions()
1608 void pcm_status_state(struct s_smc *smc, int np, int *type, int *state, in pcm_status_state() argument
1611 struct s_phy *phy = &smc->y[np] ; in pcm_status_state()
1647 void plc_irq(struct s_smc *smc, int np, unsigned int cmd) in plc_irq() argument
1650 struct s_phy *phy = &smc->y[np] ; in plc_irq()
1658 if (np >= smc->s.numphys) { in plc_irq()
1688 ((inpw(PLC(np,PL_STATUS_A)) & PLC_REV_MASK) == in plc_irq()
1700 outpw(PLC(np,PL_INTR_MASK),corr_mask); in plc_irq()
1738 j = inpw(PLC(np,PL_LE_THRESHOLD)) ; in plc_irq()
1739 i = inpw(PLC(np,PL_LINK_ERR_CTR)) ; in plc_irq()
1764 switch (inpw(PLC(np,PL_CNTRL_B)) & PL_MATCH_LS) { in plc_irq()
1774 reason = inpw(PLC(np,PL_STATUS_B)) & PL_BREAK_REASON ; in plc_irq()
1786 DB_PCMN(1,"PLC %d: MDcF = %x\n", np, smc->e.DisconnectFlag); in plc_irq()
1788 DB_PCMN(1,"PLC %d: restart (reason %x)\n", np, reason); in plc_irq()
1789 queue_event(smc,EVENT_PCM+np,PC_START) ; in plc_irq()
1792 DB_PCMN(1,"PLC %d: NO!! restart (reason %x)\n", np, reason); in plc_irq()
1800 queue_event(smc,EVENT_PCM+np,PC_SIGNAL) ; in plc_irq()
1801 n = inpw(PLC(np,PL_RCV_VECTOR)) ; in plc_irq()
1808 queue_event(smc,EVENT_PCM+np,PC_JOIN) ; in plc_irq()
1814 np,smc->mib.fddiSMTECMState) ; in plc_irq()
1816 smc->e.trace_prop |= ENTITY_BIT(ENTITY_PHY(np)) ; in plc_irq()
1827 DB_PCMN(1,"PCM : state = %s %d\n", get_pcmstate(smc,np), in plc_irq()
1839 queue_event(smc,EVENT_PCM+np,PC_START) ; in plc_irq()
1899 int get_pcm_state(struct s_smc *smc, int np) in get_pcm_state() argument
1905 switch (inpw(PLC(np,PL_STATUS_B)) & PL_PCM_STATE) { in get_pcm_state()
1921 char *get_linestate(struct s_smc *smc, int np) in get_linestate() argument
1927 switch (inpw(PLC(np,PL_STATUS_A)) & PL_LINE_ST) { in get_linestate()
1943 char *get_pcmstate(struct s_smc *smc, int np) in get_pcmstate() argument
1949 switch (inpw(PLC(np,PL_STATUS_B)) & PL_PCM_STATE) { in get_pcmstate()
1968 int np ; in list_phy() local
1970 for (np = 0 ; np < NUMPHYS ; np++) { in list_phy()
1971 plc = &smc->y[np].plc ; in list_phy()
1972 printf("PHY %d:\tERRORS\t\t\tBREAK_REASONS\t\tSTATES:\n",np) ; in list_phy()
1976 plc->parity_err,plc->b_tpc,get_linestate(smc,np)) ; in list_phy()
1980 plc->phyinv,plc->b_qls,get_pcmstate(smc,np)) ; in list_phy()
1987 printf("\tLEM_err : %ld\n",smc->y[np].lem.lem_errors) ; in list_phy()