|
@@ -1053,13 +1053,14 @@ int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable)
|
|
|
{
|
|
|
/* According to 802.3az,the EEE is supported only in full duplex-mode.
|
|
|
* Also EEE feature is active when core is operating with MII, GMII
|
|
|
- * or RGMII. Internal PHYs are also allowed to proceed and should
|
|
|
- * return an error if they do not support EEE.
|
|
|
+ * or RGMII (all kinds). Internal PHYs are also allowed to proceed and
|
|
|
+ * should return an error if they do not support EEE.
|
|
|
*/
|
|
|
if ((phydev->duplex == DUPLEX_FULL) &&
|
|
|
((phydev->interface == PHY_INTERFACE_MODE_MII) ||
|
|
|
(phydev->interface == PHY_INTERFACE_MODE_GMII) ||
|
|
|
- (phydev->interface == PHY_INTERFACE_MODE_RGMII) ||
|
|
|
+ (phydev->interface >= PHY_INTERFACE_MODE_RGMII &&
|
|
|
+ phydev->interface <= PHY_INTERFACE_MODE_RGMII_TXID) ||
|
|
|
phy_is_internal(phydev))) {
|
|
|
int eee_lp, eee_cap, eee_adv;
|
|
|
u32 lp, cap, adv;
|