Lines Matching +full:loss +full:- +full:of +full:- +full:signal

1 // SPDX-License-Identifier: GPL-2.0-only
33 * Copyright (c) 1997-2000 LAN Media Corporation (LMC)
37 * Andrew Stanley-Jones (asj@cban.com)
40 * Matt Thomas (matt@3am-software.com).
172 sc->ictl.cardtype = LMC_CTL_CARDTYPE_LMC5200; in lmc_hssi_init()
180 sc->lmc_miireg16 = LMC_MII16_LED_ALL; in lmc_hssi_default()
182 sc->lmc_media->set_link_status (sc, LMC_LINK_DOWN); in lmc_hssi_default()
183 sc->lmc_media->set_clock_source (sc, LMC_CTL_CLOCK_SOURCE_EXT); in lmc_hssi_default()
184 sc->lmc_media->set_crc_length (sc, LMC_CTL_CRC_LENGTH_16); in lmc_hssi_default()
196 sc->lmc_media->set_clock_source (sc, sc->ictl.clock_source); in lmc_hssi_set_status()
205 if (ctl->clock_source && !sc->ictl.clock_source) in lmc_hssi_set_status()
207 sc->lmc_media->set_clock_source (sc, LMC_CTL_CLOCK_SOURCE_INT); in lmc_hssi_set_status()
208 sc->lmc_timing = LMC_CTL_CLOCK_SOURCE_INT; in lmc_hssi_set_status()
210 else if (!ctl->clock_source && sc->ictl.clock_source) in lmc_hssi_set_status()
212 sc->lmc_timing = LMC_CTL_CLOCK_SOURCE_EXT; in lmc_hssi_set_status()
213 sc->lmc_media->set_clock_source (sc, LMC_CTL_CLOCK_SOURCE_EXT); in lmc_hssi_set_status()
226 old = sc->ictl.clock_source; in lmc_hssi_set_clock()
229 sc->lmc_gpio |= LMC_GEP_HSSI_CLOCK; in lmc_hssi_set_clock()
230 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in lmc_hssi_set_clock()
231 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_EXT; in lmc_hssi_set_clock()
237 sc->lmc_gpio &= ~(LMC_GEP_HSSI_CLOCK); in lmc_hssi_set_clock()
238 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in lmc_hssi_set_clock()
239 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_INT; in lmc_hssi_set_clock()
263 sc->lmc_miireg16 |= LMC_MII16_HSSI_TA; in lmc_hssi_set_link_status()
265 sc->lmc_miireg16 &= ~LMC_MII16_HSSI_TA; in lmc_hssi_set_link_status()
267 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_hssi_set_link_status()
279 sc->lmc_miireg16 |= LMC_MII16_HSSI_CRC; in lmc_hssi_set_crc_length()
280 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_32; in lmc_hssi_set_crc_length()
285 sc->lmc_miireg16 &= ~LMC_MII16_HSSI_CRC; in lmc_hssi_set_crc_length()
286 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_16; in lmc_hssi_set_crc_length()
289 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_hssi_set_crc_length()
310 sc->lmc_miireg16 &= ~LMC_MII16_DS3_ZERO; in lmc_ds3_set_100ft()
311 sc->ictl.cable_length = LMC_CTL_CABLE_LENGTH_GT_100FT; in lmc_ds3_set_100ft()
315 sc->lmc_miireg16 |= LMC_MII16_DS3_ZERO; in lmc_ds3_set_100ft()
316 sc->ictl.cable_length = LMC_CTL_CABLE_LENGTH_LT_100FT; in lmc_ds3_set_100ft()
318 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_ds3_set_100ft()
324 sc->lmc_miireg16 = LMC_MII16_LED_ALL; in lmc_ds3_default()
326 sc->lmc_media->set_link_status (sc, LMC_LINK_DOWN); in lmc_ds3_default()
327 sc->lmc_media->set_cable_length (sc, LMC_CTL_CABLE_LENGTH_LT_100FT); in lmc_ds3_default()
328 sc->lmc_media->set_scrambler (sc, LMC_CTL_OFF); in lmc_ds3_default()
329 sc->lmc_media->set_crc_length (sc, LMC_CTL_CRC_LENGTH_16); in lmc_ds3_default()
341 sc->lmc_media->set_cable_length (sc, sc->ictl.cable_length); in lmc_ds3_set_status()
342 sc->lmc_media->set_scrambler (sc, sc->ictl.scrambler_onoff); in lmc_ds3_set_status()
351 if (ctl->cable_length && !sc->ictl.cable_length) in lmc_ds3_set_status()
353 else if (!ctl->cable_length && sc->ictl.cable_length) in lmc_ds3_set_status()
359 if (ctl->scrambler_onoff && !sc->ictl.scrambler_onoff) in lmc_ds3_set_status()
361 else if (!ctl->scrambler_onoff && sc->ictl.scrambler_onoff) in lmc_ds3_set_status()
372 sc->ictl.cardtype = LMC_CTL_CARDTYPE_LMC5245; in lmc_ds3_init()
407 sc->lmc_miireg16 |= LMC_MII16_DS3_SCRAM; in lmc_ds3_set_scram()
408 sc->ictl.scrambler_onoff = LMC_CTL_ON; in lmc_ds3_set_scram()
412 sc->lmc_miireg16 &= ~LMC_MII16_DS3_SCRAM; in lmc_ds3_set_scram()
413 sc->ictl.scrambler_onoff = LMC_CTL_OFF; in lmc_ds3_set_scram()
415 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_ds3_set_scram()
432 * led0 yellow = far-end adapter is in Red alarm condition in lmc_ds3_get_link_status()
433 * led1 blue = received an Alarm Indication signal in lmc_ds3_get_link_status()
437 * led3 red = Loss of Signal (LOS) or out of frame (OOF) in lmc_ds3_get_link_status()
438 * conditions detected on T3 receive signal in lmc_ds3_get_link_status()
446 if(sc->last_led_err[3] != 1){ in lmc_ds3_get_link_status()
452 printk(KERN_WARNING "%s: Red Alarm - Loss of Signal or Loss of Framing\n", sc->name); in lmc_ds3_get_link_status()
455 sc->last_led_err[3] = 1; in lmc_ds3_get_link_status()
459 if(sc->last_led_err[3] == 1){ in lmc_ds3_get_link_status()
466 sc->last_led_err[3] = 0; in lmc_ds3_get_link_status()
474 if(sc->last_led_err[0] != 1){ in lmc_ds3_get_link_status()
475 printk(KERN_WARNING "%s: AIS Alarm or XBit Error\n", sc->name); in lmc_ds3_get_link_status()
476 printk(KERN_WARNING "%s: Remote end has loss of signal or framing\n", sc->name); in lmc_ds3_get_link_status()
479 sc->last_led_err[0] = 1; in lmc_ds3_get_link_status()
483 sc->last_led_err[0] = 0; in lmc_ds3_get_link_status()
491 if(sc->last_led_err[1] != 1){ in lmc_ds3_get_link_status()
492 printk(KERN_WARNING "%s: Blue Alarm - Receiving all 1's\n", sc->name); in lmc_ds3_get_link_status()
495 sc->last_led_err[1] = 1; in lmc_ds3_get_link_status()
499 sc->last_led_err[1] = 0; in lmc_ds3_get_link_status()
514 sc->lmc_miireg16 |= LMC_MII16_DS3_CRC; in lmc_ds3_set_crc_length()
515 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_32; in lmc_ds3_set_crc_length()
520 sc->lmc_miireg16 &= ~LMC_MII16_DS3_CRC; in lmc_ds3_set_crc_length()
521 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_16; in lmc_ds3_set_crc_length()
524 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_ds3_set_crc_length()
543 sc->ictl.cardtype = LMC_CTL_CARDTYPE_LMC1000; in lmc_ssi_init()
548 sc->ictl.cable_type = cable; in lmc_ssi_init()
556 sc->lmc_miireg16 = LMC_MII16_LED_ALL; in lmc_ssi_default()
563 sc->lmc_media->set_link_status (sc, LMC_LINK_DOWN); in lmc_ssi_default()
564 sc->lmc_media->set_clock_source (sc, LMC_CTL_CLOCK_SOURCE_EXT); in lmc_ssi_default()
565 sc->lmc_media->set_speed (sc, NULL); in lmc_ssi_default()
566 sc->lmc_media->set_crc_length (sc, LMC_CTL_CRC_LENGTH_16); in lmc_ssi_default()
578 sc->lmc_media->set_clock_source (sc, sc->ictl.clock_source); in lmc_ssi_set_status()
579 sc->lmc_media->set_speed (sc, &sc->ictl); in lmc_ssi_set_status()
588 if (ctl->clock_source == LMC_CTL_CLOCK_SOURCE_INT in lmc_ssi_set_status()
589 && sc->ictl.clock_source == LMC_CTL_CLOCK_SOURCE_EXT) in lmc_ssi_set_status()
591 sc->lmc_media->set_clock_source (sc, LMC_CTL_CLOCK_SOURCE_INT); in lmc_ssi_set_status()
592 sc->lmc_timing = LMC_CTL_CLOCK_SOURCE_INT; in lmc_ssi_set_status()
594 else if (ctl->clock_source == LMC_CTL_CLOCK_SOURCE_EXT in lmc_ssi_set_status()
595 && sc->ictl.clock_source == LMC_CTL_CLOCK_SOURCE_INT) in lmc_ssi_set_status()
597 sc->lmc_media->set_clock_source (sc, LMC_CTL_CLOCK_SOURCE_EXT); in lmc_ssi_set_status()
598 sc->lmc_timing = LMC_CTL_CLOCK_SOURCE_EXT; in lmc_ssi_set_status()
601 if (ctl->clock_rate != sc->ictl.clock_rate) in lmc_ssi_set_status()
602 sc->lmc_media->set_speed (sc, ctl); in lmc_ssi_set_status()
617 sc->lmc_gpio &= ~(LMC_GEP_SSI_TXCLOCK); in lmc_ssi_set_clock()
618 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in lmc_ssi_set_clock()
619 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_EXT; in lmc_ssi_set_clock()
625 sc->lmc_gpio |= LMC_GEP_SSI_TXCLOCK; in lmc_ssi_set_clock()
626 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in lmc_ssi_set_clock()
627 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_INT; in lmc_ssi_set_clock()
636 lmc_ctl_t *ictl = &sc->ictl; in lmc_ssi_set_speed()
639 /* original settings for clock rate of: in lmc_ssi_set_speed()
647 av = &ictl->cardspec.ssi; in lmc_ssi_set_speed()
648 ictl->clock_rate = 1500000; in lmc_ssi_set_speed()
649 av->f = ictl->clock_rate; in lmc_ssi_set_speed()
650 av->n = 120; in lmc_ssi_set_speed()
651 av->m = 100; in lmc_ssi_set_speed()
652 av->v = 1; in lmc_ssi_set_speed()
653 av->x = 1; in lmc_ssi_set_speed()
654 av->r = 2; in lmc_ssi_set_speed()
656 write_av9110 (sc, av->n, av->m, av->v, av->x, av->r); in lmc_ssi_set_speed()
660 av = &ctl->cardspec.ssi; in lmc_ssi_set_speed()
662 if (av->f == 0) in lmc_ssi_set_speed()
665 ictl->clock_rate = av->f; /* really, this is the rate we are */ in lmc_ssi_set_speed()
666 ictl->cardspec.ssi = *av; in lmc_ssi_set_speed()
668 write_av9110 (sc, av->n, av->m, av->v, av->x, av->r); in lmc_ssi_set_speed()
690 * One of DCD or CTS must be asserted. in lmc_ssi_get_link_status()
699 * cable or the on-board frequency in lmc_ssi_get_link_status()
707 ticks = 0x0000ffff - (ticks & 0x0000ffff); in lmc_ssi_get_link_status()
712 if (sc->lmc_timing == LMC_CTL_CLOCK_SOURCE_INT) { in lmc_ssi_get_link_status()
717 if (sc->last_led_err[3] != 1) { in lmc_ssi_get_link_status()
718 sc->extra_stats.tx_lossOfClockCnt++; in lmc_ssi_get_link_status()
719 printk(KERN_WARNING "%s: Lost Clock, Link Down\n", sc->name); in lmc_ssi_get_link_status()
721 sc->last_led_err[3] = 1; in lmc_ssi_get_link_status()
725 if(sc->last_led_err[3] == 1) in lmc_ssi_get_link_status()
726 printk(KERN_WARNING "%s: Clock Returned\n", sc->name); in lmc_ssi_get_link_status()
727 sc->last_led_err[3] = 0; in lmc_ssi_get_link_status()
744 if(sc->last_led_err[1] != 1) in lmc_ssi_get_link_status()
745 printk(KERN_WARNING "%s: DSR not asserted\n", sc->name); in lmc_ssi_get_link_status()
746 sc->last_led_err[1] = 1; in lmc_ssi_get_link_status()
750 if(sc->last_led_err[1] != 0) in lmc_ssi_get_link_status()
751 printk(KERN_WARNING "%s: DSR now asserted\n", sc->name); in lmc_ssi_get_link_status()
752 sc->last_led_err[1] = 0; in lmc_ssi_get_link_status()
768 sc->lmc_miireg16 |= (LMC_MII16_SSI_DTR | LMC_MII16_SSI_RTS); in lmc_ssi_set_link_status()
773 sc->lmc_miireg16 &= ~(LMC_MII16_SSI_DTR | LMC_MII16_SSI_RTS); in lmc_ssi_set_link_status()
777 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_ssi_set_link_status()
790 sc->lmc_miireg16 |= LMC_MII16_SSI_CRC; in lmc_ssi_set_crc_length()
791 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_32; in lmc_ssi_set_crc_length()
792 sc->lmc_crcSize = LMC_CTL_CRC_BYTESIZE_4; in lmc_ssi_set_crc_length()
798 sc->lmc_miireg16 &= ~LMC_MII16_SSI_CRC; in lmc_ssi_set_crc_length()
799 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_16; in lmc_ssi_set_crc_length()
800 sc->lmc_crcSize = LMC_CTL_CRC_BYTESIZE_2; in lmc_ssi_set_crc_length()
803 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_ssi_set_crc_length()
815 sc->lmc_gpio &= ~(LMC_GEP_CLK); in write_av9110_bit()
817 sc->lmc_gpio |= LMC_GEP_DATA; in write_av9110_bit()
819 sc->lmc_gpio &= ~(LMC_GEP_DATA); in write_av9110_bit()
820 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in write_av9110_bit()
825 sc->lmc_gpio |= LMC_GEP_CLK; in write_av9110_bit()
826 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in write_av9110_bit()
831 sc->lmc_gpio &= ~(LMC_GEP_CLK); in write_av9110_bit()
832 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in write_av9110_bit()
841 LMC_PRINTF_ARGS, sc->ictl.clock_rate, n, m, v, x, r); in write_av9110()
844 sc->lmc_gpio |= LMC_GEP_SSI_GENERATOR; in write_av9110()
845 sc->lmc_gpio &= ~(LMC_GEP_DATA | LMC_GEP_CLK); in write_av9110()
846 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in write_av9110()
855 sc->lmc_gpio &= ~(LMC_GEP_SSI_GENERATOR); in write_av9110()
856 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in write_av9110()
875 * stop driving serial-related signals in write_av9110()
921 sc->ictl.cardtype = LMC_CTL_CARDTYPE_LMC1200; in lmc_t1_init()
929 /* set T1 or E1 line. Uses sc->lmcmii16 reg in function so update it */ in lmc_t1_init()
930 sc->lmc_miireg16 = mii16; in lmc_t1_init()
932 mii16 = sc->lmc_miireg16; in lmc_t1_init()
934 lmc_t1_write (sc, 0x01, 0x1B); /* CR0 - primary control */ in lmc_t1_init()
935 lmc_t1_write (sc, 0x02, 0x42); /* JAT_CR - jitter atten config */ in lmc_t1_init()
936 lmc_t1_write (sc, 0x14, 0x00); /* LOOP - loopback config */ in lmc_t1_init()
937 lmc_t1_write (sc, 0x15, 0x00); /* DL3_TS - external data link timeslot */ in lmc_t1_init()
938 lmc_t1_write (sc, 0x18, 0xFF); /* PIO - programmable I/O */ in lmc_t1_init()
939 lmc_t1_write (sc, 0x19, 0x30); /* POE - programmable OE */ in lmc_t1_init()
940 lmc_t1_write (sc, 0x1A, 0x0F); /* CMUX - clock input mux */ in lmc_t1_init()
941 lmc_t1_write (sc, 0x20, 0x41); /* LIU_CR - RX LIU config */ in lmc_t1_init()
942 lmc_t1_write (sc, 0x22, 0x76); /* RLIU_CR - RX LIU config */ in lmc_t1_init()
943 lmc_t1_write (sc, 0x40, 0x03); /* RCR0 - RX config */ in lmc_t1_init()
944 lmc_t1_write (sc, 0x45, 0x00); /* RALM - RX alarm config */ in lmc_t1_init()
945 lmc_t1_write (sc, 0x46, 0x05); /* LATCH - RX alarm/err/cntr latch */ in lmc_t1_init()
946 lmc_t1_write (sc, 0x68, 0x40); /* TLIU_CR - TX LIU config */ in lmc_t1_init()
947 lmc_t1_write (sc, 0x70, 0x0D); /* TCR0 - TX framer config */ in lmc_t1_init()
948 lmc_t1_write (sc, 0x71, 0x05); /* TCR1 - TX config */ in lmc_t1_init()
949 lmc_t1_write (sc, 0x72, 0x0B); /* TFRM - TX frame format */ in lmc_t1_init()
950 lmc_t1_write (sc, 0x73, 0x00); /* TERROR - TX error insert */ in lmc_t1_init()
951 lmc_t1_write (sc, 0x74, 0x00); /* TMAN - TX manual Sa/FEBE config */ in lmc_t1_init()
952 lmc_t1_write (sc, 0x75, 0x00); /* TALM - TX alarm signal config */ in lmc_t1_init()
953 lmc_t1_write (sc, 0x76, 0x00); /* TPATT - TX test pattern config */ in lmc_t1_init()
954 lmc_t1_write (sc, 0x77, 0x00); /* TLB - TX inband loopback config */ in lmc_t1_init()
955 lmc_t1_write (sc, 0x90, 0x05); /* CLAD_CR - clock rate adapter config */ in lmc_t1_init()
956 lmc_t1_write (sc, 0x91, 0x05); /* CSEL - clad freq sel */ in lmc_t1_init()
957 lmc_t1_write (sc, 0xA6, 0x00); /* DL1_CTL - DL1 control */ in lmc_t1_init()
958 lmc_t1_write (sc, 0xB1, 0x00); /* DL2_CTL - DL2 control */ in lmc_t1_init()
959 lmc_t1_write (sc, 0xD0, 0x47); /* SBI_CR - sys bus iface config */ in lmc_t1_init()
960 lmc_t1_write (sc, 0xD1, 0x70); /* RSB_CR - RX sys bus config */ in lmc_t1_init()
961 lmc_t1_write (sc, 0xD4, 0x30); /* TSB_CR - TX sys bus config */ in lmc_t1_init()
964 lmc_t1_write (sc, 0x0E0 + i, 0x00); /* SBCn - sys bus per-channel ctl */ in lmc_t1_init()
965 lmc_t1_write (sc, 0x100 + i, 0x00); /* TPCn - TX per-channel ctl */ in lmc_t1_init()
966 lmc_t1_write (sc, 0x180 + i, 0x00); /* RPCn - RX per-channel ctl */ in lmc_t1_init()
970 lmc_t1_write (sc, 0x0E0 + i, 0x0D); /* SBCn - sys bus per-channel ctl */ in lmc_t1_init()
975 sc->lmc_miireg16 = mii16; in lmc_t1_init()
981 sc->lmc_miireg16 = LMC_MII16_LED_ALL; in lmc_t1_default()
982 sc->lmc_media->set_link_status (sc, LMC_LINK_DOWN); in lmc_t1_default()
983 sc->lmc_media->set_circuit_type (sc, LMC_CTL_CIRCUIT_TYPE_T1); in lmc_t1_default()
984 sc->lmc_media->set_crc_length (sc, LMC_CTL_CRC_LENGTH_16); in lmc_t1_default()
986 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_INT; in lmc_t1_default()
995 sc->lmc_media->set_circuit_type (sc, sc->ictl.circuit_type); in lmc_t1_set_status()
1002 if (ctl->circuit_type == LMC_CTL_CIRCUIT_TYPE_T1 in lmc_t1_set_status()
1003 && sc->ictl.circuit_type == in lmc_t1_set_status()
1004 LMC_CTL_CIRCUIT_TYPE_E1) sc->lmc_media->set_circuit_type (sc, in lmc_t1_set_status()
1006 else if (ctl->circuit_type == LMC_CTL_CIRCUIT_TYPE_E1 in lmc_t1_set_status()
1007 && sc->ictl.circuit_type == LMC_CTL_CIRCUIT_TYPE_T1) in lmc_t1_set_status()
1008 sc->lmc_media->set_circuit_type (sc, LMC_CTL_CIRCUIT_TYPE_T1); in lmc_t1_set_status()
1021 * led0 yellow = far-end adapter is in Red alarm condition in lmc_t1_get_link_status()
1022 * led1 blue = received an Alarm Indication signal in lmc_t1_get_link_status()
1026 * led3 red = Loss of Signal (LOS) or out of frame (OOF) in lmc_t1_get_link_status()
1027 * conditions detected on T3 receive signal in lmc_t1_get_link_status()
1037 if(sc->last_led_err[1] != 1){ in lmc_t1_get_link_status()
1038 printk(KERN_WARNING "%s: Receive AIS/Blue Alarm. Far end in RED alarm\n", sc->name); in lmc_t1_get_link_status()
1041 sc->last_led_err[1] = 1; in lmc_t1_get_link_status()
1044 if(sc->last_led_err[1] != 0){ in lmc_t1_get_link_status()
1045 printk(KERN_WARNING "%s: End AIS/Blue Alarm\n", sc->name); in lmc_t1_get_link_status()
1048 sc->last_led_err[1] = 0; in lmc_t1_get_link_status()
1063 if(sc->last_led_err[0] != 1){ in lmc_t1_get_link_status()
1064 printk(KERN_WARNING "%s: Receive Yellow AIS Alarm\n", sc->name); in lmc_t1_get_link_status()
1067 sc->last_led_err[0] = 1; in lmc_t1_get_link_status()
1070 if(sc->last_led_err[0] != 0){ in lmc_t1_get_link_status()
1071 printk(KERN_WARNING "%s: End of Yellow AIS Alarm\n", sc->name); in lmc_t1_get_link_status()
1074 sc->last_led_err[0] = 0; in lmc_t1_get_link_status()
1078 * Loss of signal and los of frame in lmc_t1_get_link_status()
1083 if(sc->last_led_err[3] != 1){ in lmc_t1_get_link_status()
1084 printk(KERN_WARNING "%s: Local Red Alarm: Loss of Framing\n", sc->name); in lmc_t1_get_link_status()
1087 sc->last_led_err[3] = 1; in lmc_t1_get_link_status()
1091 if(sc->last_led_err[3] != 0){ in lmc_t1_get_link_status()
1092 printk(KERN_WARNING "%s: End Red Alarm (LOF)\n", sc->name); in lmc_t1_get_link_status()
1096 sc->last_led_err[3] = 0; in lmc_t1_get_link_status()
1101 if(sc->last_led_err[2] != 1){ in lmc_t1_get_link_status()
1102 printk(KERN_WARNING "%s: Local Red Alarm: Loss of Signal\n", sc->name); in lmc_t1_get_link_status()
1105 sc->last_led_err[2] = 1; in lmc_t1_get_link_status()
1109 if(sc->last_led_err[2] != 0){ in lmc_t1_get_link_status()
1110 printk(KERN_WARNING "%s: End Red Alarm (LOS)\n", sc->name); in lmc_t1_get_link_status()
1114 sc->last_led_err[2] = 0; in lmc_t1_get_link_status()
1117 sc->lmc_xinfo.t1_alarm1_status = link_status; in lmc_t1_get_link_status()
1120 sc->lmc_xinfo.t1_alarm2_status = lmc_mii_readreg (sc, 0, 18); in lmc_t1_get_link_status()
1132 sc->lmc_miireg16 |= LMC_MII16_T1_Z; in lmc_t1_set_circuit_type()
1133 sc->ictl.circuit_type = LMC_CTL_CIRCUIT_TYPE_T1; in lmc_t1_set_circuit_type()
1134 printk(KERN_INFO "%s: In T1 Mode\n", sc->name); in lmc_t1_set_circuit_type()
1137 sc->lmc_miireg16 &= ~LMC_MII16_T1_Z; in lmc_t1_set_circuit_type()
1138 sc->ictl.circuit_type = LMC_CTL_CIRCUIT_TYPE_E1; in lmc_t1_set_circuit_type()
1139 printk(KERN_INFO "%s: In E1 Mode\n", sc->name); in lmc_t1_set_circuit_type()
1142 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_t1_set_circuit_type()
1154 sc->lmc_miireg16 |= LMC_MII16_T1_CRC; in lmc_t1_set_crc_length()
1155 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_32; in lmc_t1_set_crc_length()
1156 sc->lmc_crcSize = LMC_CTL_CRC_BYTESIZE_4; in lmc_t1_set_crc_length()
1161 /* 16 bit */ sc->lmc_miireg16 &= ~LMC_MII16_T1_CRC; in lmc_t1_set_crc_length()
1162 sc->ictl.crc_length = LMC_CTL_CRC_LENGTH_16; in lmc_t1_set_crc_length()
1163 sc->lmc_crcSize = LMC_CTL_CRC_BYTESIZE_2; in lmc_t1_set_crc_length()
1167 lmc_mii_writereg (sc, 0, 16, sc->lmc_miireg16); in lmc_t1_set_crc_length()
1180 sc->lmc_gpio &= ~(LMC_GEP_SSI_TXCLOCK); in lmc_t1_set_clock()
1181 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in lmc_t1_set_clock()
1182 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_EXT; in lmc_t1_set_clock()
1188 sc->lmc_gpio |= LMC_GEP_SSI_TXCLOCK; in lmc_t1_set_clock()
1189 LMC_CSR_WRITE (sc, csr_gp, sc->lmc_gpio); in lmc_t1_set_clock()
1190 sc->ictl.clock_source = LMC_CTL_CLOCK_SOURCE_INT; in lmc_t1_set_clock()
1205 sc->ictl.keepalive_onoff = LMC_CTL_ON; in lmc_set_protocol()