Commit b55498ff authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jakub Kicinski
Browse files

net: phy: add phy_disable_eee



If a MAC driver doesn't support EEE, then the PHY shouldn't advertise it.
Add phy_disable_eee() for this purpose.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/fd51738c-dcd6-4d61-b8c5-faa6ac0f1026@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent e8f33238
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -3003,6 +3003,22 @@ void phy_support_eee(struct phy_device *phydev)
}
EXPORT_SYMBOL(phy_support_eee);

/**
 * phy_disable_eee - Disable EEE for the PHY
 * @phydev: Target phy_device struct
 *
 * This function is used by MAC drivers for MAC's which don't support EEE.
 * It disables EEE on the PHY layer.
 */
void phy_disable_eee(struct phy_device *phydev)
{
	linkmode_zero(phydev->supported_eee);
	linkmode_zero(phydev->advertising_eee);
	phydev->eee_cfg.tx_lpi_enabled = false;
	phydev->eee_cfg.eee_enabled = false;
}
EXPORT_SYMBOL_GPL(phy_disable_eee);

/**
 * phy_support_sym_pause - Enable support of symmetrical pause
 * @phydev: target phy_device struct
+1 −0
Original line number Diff line number Diff line
@@ -2071,6 +2071,7 @@ void phy_advertise_eee_all(struct phy_device *phydev);
void phy_support_sym_pause(struct phy_device *phydev);
void phy_support_asym_pause(struct phy_device *phydev);
void phy_support_eee(struct phy_device *phydev);
void phy_disable_eee(struct phy_device *phydev);
void phy_set_sym_pause(struct phy_device *phydev, bool rx, bool tx,
		       bool autoneg);
void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx);