mirror of https://gitee.com/openkylin/linux.git
phy: add phy_interface_mode_is_8023z() helper
Add and use phy_interface_mode_is_8023z() helper to identify the interface modes that use 802.3z negotiation. Use it in phylink's phylink_mac_an_restart(). Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b0e9fe1ba7
commit
365c1e64ad
|
@ -320,8 +320,7 @@ static void phylink_mac_config(struct phylink *pl,
|
|||
static void phylink_mac_an_restart(struct phylink *pl)
|
||||
{
|
||||
if (pl->link_config.an_enabled &&
|
||||
(pl->link_config.interface == PHY_INTERFACE_MODE_1000BASEX ||
|
||||
pl->link_config.interface == PHY_INTERFACE_MODE_2500BASEX))
|
||||
phy_interface_mode_is_8023z(pl->link_config.interface))
|
||||
pl->ops->mac_an_restart(pl->netdev);
|
||||
}
|
||||
|
||||
|
|
|
@ -761,6 +761,20 @@ static inline bool phy_interface_mode_is_rgmii(phy_interface_t mode)
|
|||
mode <= PHY_INTERFACE_MODE_RGMII_TXID;
|
||||
};
|
||||
|
||||
/**
|
||||
* phy_interface_mode_is_8023z() - does the phy interface mode use 802.3z
|
||||
* negotiation
|
||||
* @mode: one of &enum phy_interface_t
|
||||
*
|
||||
* Returns true if the phy interface mode uses the 16-bit negotiation
|
||||
* word as defined in 802.3z. (See 802.3-2015 37.2.1 Config_Reg encoding)
|
||||
*/
|
||||
static inline bool phy_interface_mode_is_8023z(phy_interface_t mode)
|
||||
{
|
||||
return mode == PHY_INTERFACE_MODE_1000BASEX ||
|
||||
mode == PHY_INTERFACE_MODE_2500BASEX;
|
||||
}
|
||||
|
||||
/**
|
||||
* phy_interface_is_rgmii - Convenience function for testing if a PHY interface
|
||||
* is RGMII (all variants)
|
||||
|
|
Loading…
Reference in New Issue