Lines Matching refs:ecmd

55 int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd)  in mii_ethtool_gset()  argument
61 ecmd->supported = in mii_ethtool_gset()
66 ecmd->supported |= SUPPORTED_1000baseT_Half | in mii_ethtool_gset()
70 ecmd->port = PORT_MII; in mii_ethtool_gset()
73 ecmd->transceiver = XCVR_INTERNAL; in mii_ethtool_gset()
76 ecmd->phy_address = mii->phy_id; in mii_ethtool_gset()
77 ecmd->mdio_support = ETH_MDIO_SUPPORTS_C22; in mii_ethtool_gset()
79 ecmd->advertising = ADVERTISED_TP | ADVERTISED_MII; in mii_ethtool_gset()
88 ecmd->advertising |= ADVERTISED_Autoneg; in mii_ethtool_gset()
89 ecmd->autoneg = AUTONEG_ENABLE; in mii_ethtool_gset()
91 ecmd->advertising |= mii_get_an(mii, MII_ADVERTISE); in mii_ethtool_gset()
93 ecmd->advertising |= in mii_ethtool_gset()
97 ecmd->lp_advertising = mii_get_an(mii, MII_LPA); in mii_ethtool_gset()
98 ecmd->lp_advertising |= in mii_ethtool_gset()
101 ecmd->lp_advertising = 0; in mii_ethtool_gset()
104 nego = ecmd->advertising & ecmd->lp_advertising; in mii_ethtool_gset()
108 ethtool_cmd_speed_set(ecmd, SPEED_1000); in mii_ethtool_gset()
109 ecmd->duplex = !!(nego & ADVERTISED_1000baseT_Full); in mii_ethtool_gset()
112 ethtool_cmd_speed_set(ecmd, SPEED_100); in mii_ethtool_gset()
113 ecmd->duplex = !!(nego & ADVERTISED_100baseT_Full); in mii_ethtool_gset()
115 ethtool_cmd_speed_set(ecmd, SPEED_10); in mii_ethtool_gset()
116 ecmd->duplex = !!(nego & ADVERTISED_10baseT_Full); in mii_ethtool_gset()
119 ecmd->autoneg = AUTONEG_DISABLE; in mii_ethtool_gset()
121 ethtool_cmd_speed_set(ecmd, in mii_ethtool_gset()
127 ecmd->duplex = (bmcr & BMCR_FULLDPLX) ? DUPLEX_FULL : DUPLEX_HALF; in mii_ethtool_gset()
130 mii->full_duplex = ecmd->duplex; in mii_ethtool_gset()
144 int mii_ethtool_sset(struct mii_if_info *mii, struct ethtool_cmd *ecmd) in mii_ethtool_sset() argument
147 u32 speed = ethtool_cmd_speed(ecmd); in mii_ethtool_sset()
153 if (ecmd->duplex != DUPLEX_HALF && ecmd->duplex != DUPLEX_FULL) in mii_ethtool_sset()
155 if (ecmd->port != PORT_MII) in mii_ethtool_sset()
157 if (ecmd->transceiver != XCVR_INTERNAL) in mii_ethtool_sset()
159 if (ecmd->phy_address != mii->phy_id) in mii_ethtool_sset()
161 if (ecmd->autoneg != AUTONEG_DISABLE && ecmd->autoneg != AUTONEG_ENABLE) in mii_ethtool_sset()
168 if (ecmd->autoneg == AUTONEG_ENABLE) { in mii_ethtool_sset()
172 if ((ecmd->advertising & (ADVERTISED_10baseT_Half | in mii_ethtool_sset()
187 tmp |= ethtool_adv_to_mii_adv_t(ecmd->advertising); in mii_ethtool_sset()
191 ethtool_adv_to_mii_ctrl1000_t(ecmd->advertising); in mii_ethtool_sset()
216 if (ecmd->duplex == DUPLEX_FULL) { in mii_ethtool_sset()