• Home
  • Raw
  • Download

Lines Matching +full:asym +full:- +full:pause

6  * (c) 2002-2007, Benjamin Herrenscmidt (benh@kernel.crashing.org)
9 * - Add support for PHYs that provide an IRQ line
10 * - Eventually moved the entire polling state machine in
13 * - On LXT971 & BCM5201, Apple uses some chip specific regs
16 * - Apple has some additional power management code for some
52 return phy->mdio_read(phy->dev, id, reg); in __sungem_phy_read()
57 phy->mdio_write(phy->dev, id, reg, val); in __sungem_phy_write()
62 return phy->mdio_read(phy->dev, phy->mii_id, reg); in sungem_phy_read()
67 phy->mdio_write(phy->dev, phy->mii_id, reg, val); in sungem_phy_write()
82 while (--limit) { in reset_one_mii_phy()
244 * in the tg3.c driver. -DaveM in bcm5401_init()
317 phy->autoneg = 1; in genmii_setup_aneg()
318 phy->speed = SPEED_10; in genmii_setup_aneg()
319 phy->duplex = DUPLEX_HALF; in genmii_setup_aneg()
320 phy->pause = 0; in genmii_setup_aneg()
321 phy->advertising = advertise; in genmii_setup_aneg()
348 phy->autoneg = 0; in genmii_setup_forced()
349 phy->speed = speed; in genmii_setup_forced()
350 phy->duplex = fd; in genmii_setup_forced()
351 phy->pause = 0; in genmii_setup_forced()
368 return -EINVAL; in genmii_setup_forced()
385 if (phy->autoneg && !(status & BMSR_ANEGCOMPLETE)) in genmii_poll_link()
394 if (phy->autoneg) { in genmii_read_link()
398 phy->duplex = DUPLEX_FULL; in genmii_read_link()
400 phy->duplex = DUPLEX_HALF; in genmii_read_link()
402 phy->speed = SPEED_100; in genmii_read_link()
404 phy->speed = SPEED_10; in genmii_read_link()
405 phy->pause = 0; in genmii_read_link()
407 /* On non-aneg, we assume what we put in BMCR is the speed, in genmii_read_link()
408 * though magic-aneg shouldn't prevent this case from occurring in genmii_read_link()
451 if (phy->platform_data) { in bcm5421_init()
452 struct device_node *np = of_get_parent(phy->platform_data); in bcm5421_init()
454 if (np == NULL || of_get_property(np, "no-autolowpower", NULL)) in bcm5421_init()
457 /* Enable automatic low-power */ in bcm5421_init()
472 phy->autoneg = 1; in bcm54xx_setup_aneg()
473 phy->speed = SPEED_10; in bcm54xx_setup_aneg()
474 phy->duplex = DUPLEX_HALF; in bcm54xx_setup_aneg()
475 phy->pause = 0; in bcm54xx_setup_aneg()
476 phy->advertising = advertise; in bcm54xx_setup_aneg()
516 phy->autoneg = 0; in bcm54xx_setup_forced()
517 phy->speed = speed; in bcm54xx_setup_forced()
518 phy->duplex = fd; in bcm54xx_setup_forced()
519 phy->pause = 0; in bcm54xx_setup_forced()
552 if (phy->autoneg) { in bcm54xx_read_link()
556 phy->duplex = phy_BCM5400_link_table[link_mode][0] ? in bcm54xx_read_link()
558 phy->speed = phy_BCM5400_link_table[link_mode][2] ? in bcm54xx_read_link()
563 phy->pause = (phy->duplex == DUPLEX_FULL) && in bcm54xx_read_link()
566 /* On non-aneg, we assume what we put in BMCR is the speed, in bcm54xx_read_link()
567 * though magic-aneg shouldn't prevent this case from occurring in bcm54xx_read_link()
635 phy->speed = SPEED_1000; in bcm5421_read_link()
637 /* find out whether we are running half- or full duplex */ in bcm5421_read_link()
642 phy->duplex |= DUPLEX_HALF; in bcm5421_read_link()
644 phy->duplex |= DUPLEX_FULL; in bcm5421_read_link()
662 phy->autoneg = autoneg; in bcm5421_enable_fiber()
711 phy->speed = SPEED_1000; in bcm5461_read_link()
713 /* find out whether we are running half- or full duplex */ in bcm5461_read_link()
718 phy->duplex |= DUPLEX_FULL; in bcm5461_read_link()
720 phy->duplex |= DUPLEX_HALF; in bcm5461_read_link()
727 /* select fiber mode, enable 1000 base-X registers */ in bcm5461_enable_fiber()
739 phy->autoneg = autoneg; in bcm5461_enable_fiber()
748 phy->autoneg = 1; in marvell_setup_aneg()
749 phy->speed = SPEED_10; in marvell_setup_aneg()
750 phy->duplex = DUPLEX_HALF; in marvell_setup_aneg()
751 phy->pause = 0; in marvell_setup_aneg()
752 phy->advertising = advertise; in marvell_setup_aneg()
799 phy->autoneg = 0; in marvell_setup_forced()
800 phy->speed = speed; in marvell_setup_forced()
801 phy->duplex = fd; in marvell_setup_forced()
802 phy->pause = 0; in marvell_setup_forced()
849 if (phy->autoneg) { in marvell_read_link()
852 return -EAGAIN; in marvell_read_link()
854 phy->speed = SPEED_1000; in marvell_read_link()
856 phy->speed = SPEED_100; in marvell_read_link()
858 phy->speed = SPEED_10; in marvell_read_link()
860 phy->duplex = DUPLEX_FULL; in marvell_read_link()
862 phy->duplex = DUPLEX_HALF; in marvell_read_link()
865 phy->pause = (status & pmask) == pmask; in marvell_read_link()
867 /* On non-aneg, we assume what we put in BMCR is the speed, in marvell_read_link()
868 * though magic-aneg shouldn't prevent this case from occurring in marvell_read_link()
880 /* On gigabit capable PHYs, we advertise Pause support but not asym pause
882 * it neither. --BenH.
1021 /* Broadcom BCM 5421 built-in K2 */
1034 .name = "BCM5421-K2",
1059 /* Broadcom BCM 5462 built-in Vesta */
1072 .name = "BCM5462-Vesta",
1167 * may re-probe the PHY regulary in sungem_phy_probe()
1169 phy->mii_id = mii_id; in sungem_phy_probe()
1181 if ((id & def->phy_id_mask) == def->phy_id) in sungem_phy_probe()
1187 phy->def = def; in sungem_phy_probe()
1191 phy->speed = 0; in sungem_phy_probe()
1192 phy->duplex = 0; in sungem_phy_probe()
1193 phy->pause = 0; in sungem_phy_probe()
1194 phy->advertising = 0; in sungem_phy_probe()
1195 return -ENODEV; in sungem_phy_probe()