/* Does a software reset of the PHY by reading the PHY control register and setting/write the control register reset bit to the PHY.  */
s32 e1000e_phy_sw_reset(struct e1000_hw *hw)
/* Does a software reset of the PHY by reading the PHY control register and setting/write the control register reset bit to the PHY.  */
s32 e1000e_phy_sw_reset(struct e1000_hw *hw)
{
	s32 ret_val;
	u16 phy_ctrl;
	ret_val = e1e_rphy(hw, PHY_CONTROL, &phy_ctrl);
	if (ret_val)
		return ret_val;
	phy_ctrl |= MII_CR_RESET;
	ret_val = e1e_wphy(hw, PHY_CONTROL, phy_ctrl);
	if (ret_val)
		return ret_val;
	udelay(1);
	return ret_val;
}