aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/phy.h
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2019-08-12 23:52:19 +0200
committerJakub Kicinski <jakub.kicinski@netronome.com>2019-08-13 17:14:06 -0700
commit65b27995a4ab8fc51b4adc6b4dcdca20f7a595bb (patch)
tree7b8814cf8b7bd2767af3c3080b20c9b9c4a2b70f /include/linux/phy.h
parentnet: phy: add phy_speed_down_core and phy_resolve_min_speed (diff)
downloadwireguard-linux-65b27995a4ab8fc51b4adc6b4dcdca20f7a595bb.tar.xz
wireguard-linux-65b27995a4ab8fc51b4adc6b4dcdca20f7a595bb.zip
net: phy: let phy_speed_down/up support speeds >1Gbps
So far phy_speed_down/up can be used up to 1Gbps only. Remove this restriction by using new helper __phy_speed_down. New member adv_old in struct phy_device is used by phy_speed_up to restore the advertised modes before calling phy_speed_down. Don't simply advertise what is supported because a user may have intentionally removed modes from advertisement. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Diffstat (limited to 'include/linux/phy.h')
-rw-r--r--include/linux/phy.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 62fdc7ff2b24..5ac7d21375ac 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -403,6 +403,8 @@ struct phy_device {
__ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising);
__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising);
+ /* used with phy_speed_down */
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(adv_old);
/* Energy efficient ethernet modes which should be prohibited */
u32 eee_broken_modes;