Lines Matching +full:enable +full:- +full:lpa
1 // SPDX-License-Identifier: GPL-2.0+
34 #define MII_LXT970_IER 17 /* Interrupt Enable Register */
42 /* ------------------------------------------------------------------------- */
46 #define MII_LXT971_IER 18 /* Interrupt Enable Register */
78 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in lxt970_config_intr()
102 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in lxt971_config_intr()
132 } while (status >= 0 && retry-- && status == control); in lxt973a2_update_link()
138 phydev->link = 0; in lxt973a2_update_link()
140 phydev->link = 1; in lxt973a2_update_link()
149 int lpa; in lxt973a2_read_status() local
156 if (AUTONEG_ENABLE == phydev->autoneg) { in lxt973a2_read_status()
165 lpa = phy_read(phydev, MII_LPA); in lxt973a2_read_status()
167 if (lpa < 0) in lxt973a2_read_status()
168 return lpa; in lxt973a2_read_status()
173 } while (lpa == adv && retry--); in lxt973a2_read_status()
175 mii_lpa_to_linkmode_lpa_t(phydev->lp_advertising, lpa); in lxt973a2_read_status()
177 lpa &= adv; in lxt973a2_read_status()
179 phydev->speed = SPEED_10; in lxt973a2_read_status()
180 phydev->duplex = DUPLEX_HALF; in lxt973a2_read_status()
181 phydev->pause = phydev->asym_pause = 0; in lxt973a2_read_status()
183 if (lpa & (LPA_100FULL | LPA_100HALF)) { in lxt973a2_read_status()
184 phydev->speed = SPEED_100; in lxt973a2_read_status()
186 if (lpa & LPA_100FULL) in lxt973a2_read_status()
187 phydev->duplex = DUPLEX_FULL; in lxt973a2_read_status()
189 if (lpa & LPA_10FULL) in lxt973a2_read_status()
190 phydev->duplex = DUPLEX_FULL; in lxt973a2_read_status()
199 phydev->pause = phydev->asym_pause = 0; in lxt973a2_read_status()
200 linkmode_zero(phydev->lp_advertising); in lxt973a2_read_status()
220 phydev->priv = lxt973_probe; in lxt973_probe()
221 phydev->port = PORT_FIBRE; in lxt973_probe()
223 phydev->priv = NULL; in lxt973_probe()
231 return phydev->priv ? 0 : genphy_config_aneg(phydev); in lxt973_config_aneg()
254 .name = "LXT973-A2",