Lines Matching defs:phydev

30 static int mv88q2xxx_soft_reset(struct phy_device *phydev)
35 ret = phy_write_mmd(phydev, MDIO_MMD_PCS,
40 return phy_read_mmd_poll_timeout(phydev, MDIO_MMD_PCS,
46 static int mv88q2xxx_read_link_gbit(struct phy_device *phydev)
55 ret = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_MMD_AN_MV_STAT);
65 if (!phy_polling_mode(phydev) || !phydev->link) {
66 ret = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_1000BT1_STAT);
74 ret = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_1000BT1_STAT);
82 phydev->link = link;
87 static int mv88q2xxx_read_link_100m(struct phy_device *phydev)
97 if (!phy_polling_mode(phydev) || !phydev->link) {
98 ret = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_MMD_PCS_MV_100BT1_STAT1);
105 ret = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_MMD_PCS_MV_100BT1_STAT1);
114 phydev->link = true;
116 phydev->link = false;
121 static int mv88q2xxx_read_link(struct phy_device *phydev)
129 if (phydev->speed == SPEED_1000)
130 ret = mv88q2xxx_read_link_gbit(phydev);
132 ret = mv88q2xxx_read_link_100m(phydev);
137 static int mv88q2xxx_read_status(struct phy_device *phydev)
141 ret = mv88q2xxx_read_link(phydev);
145 return genphy_c45_read_pma(phydev);
148 static int mv88q2xxx_get_features(struct phy_device *phydev)
152 ret = genphy_c45_pma_read_abilities(phydev);
160 ret = genphy_c45_pma_baset1_read_abilities(phydev);
169 linkmode_clear_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, phydev->supported);
174 static int mv88q2xxx_config_aneg(struct phy_device *phydev)
178 ret = genphy_c45_config_aneg(phydev);
182 return mv88q2xxx_soft_reset(phydev);
185 static int mv88q2xxx_config_init(struct phy_device *phydev)
193 phydev->pma_extable = MDIO_PMA_EXTABLE_BT1;
196 ret = genphy_c45_read_pma(phydev);
200 return mv88q2xxx_config_aneg(phydev);
203 static int mv88q2xxxx_get_sqi(struct phy_device *phydev)
207 if (phydev->speed == SPEED_100) {
211 ret = phy_read_mmd(phydev, MDIO_MMD_PCS, 0x8230);
221 ret = phy_modify_mmd(phydev, MDIO_MMD_PCS, 0xFC5D, 0x00FF, 0x00AC);
225 ret = phy_read_mmd(phydev, MDIO_MMD_PCS, 0xfc88);
233 static int mv88q2xxxx_get_sqi_max(struct phy_device *phydev)