r8168d_phy_param(phydev, 0x8b85, 0x0000, 0x4000);
rtl8168f_config_eee_phy(tp);
- rtl_enable_eee(tp);
/* Green feature */
rtl_writephy(tp, 0x1f, 0x0003);
r8168d_phy_param(phydev, 0x8b86, 0x0000, 0x0001);
rtl8168f_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8168f_1_hw_phy_config(struct rtl8169_private *tp)
rtl8168g_disable_aldps(tp);
rtl8168g_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8168g_2_hw_phy_config(struct rtl8169_private *tp)
{
rtl_apply_firmware(tp);
rtl8168g_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8168h_1_hw_phy_config(struct rtl8169_private *tp)
rtl8168g_disable_aldps(tp);
rtl8168h_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static u16 rtl8168h_2_get_adc_bias_ioffset(struct rtl8169_private *tp)
rtl8168g_disable_aldps(tp);
rtl8168g_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8168ep_1_hw_phy_config(struct rtl8169_private *tp)
rtl8168g_disable_aldps(tp);
rtl8168g_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8168ep_2_hw_phy_config(struct rtl8169_private *tp)
rtl8168g_disable_aldps(tp);
rtl8168g_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8117_hw_phy_config(struct rtl8169_private *tp)
rtl8168g_disable_aldps(tp);
rtl8168h_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8102e_hw_phy_config(struct rtl8169_private *tp)
phy_modify_paged(phydev, 0xa44, 0x11, 0x0000, 0x0800);
rtl8125_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl8125_2_hw_phy_config(struct rtl8169_private *tp)
phy_modify_paged(phydev, 0xa44, 0x11, 0x0000, 0x0800);
rtl8125_config_eee_phy(tp);
- rtl_enable_eee(tp);
}
static void rtl_hw_phy_config(struct net_device *dev)
/* We may have called phy_speed_down before */
phy_speed_up(tp->phydev);
+ if (rtl_supports_eee(tp))
+ rtl_enable_eee(tp);
+
genphy_soft_reset(tp->phydev);
}