aboutsummaryrefslogtreecommitdiff
path: root/pkgs/patches-linux-5.15/777-v5.16-2-net-phylink-add-phylink_set_10g_modes-helper.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/patches-linux-5.15/777-v5.16-2-net-phylink-add-phylink_set_10g_modes-helper.patch')
-rw-r--r--pkgs/patches-linux-5.15/777-v5.16-2-net-phylink-add-phylink_set_10g_modes-helper.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/patches-linux-5.15/777-v5.16-2-net-phylink-add-phylink_set_10g_modes-helper.patch b/pkgs/patches-linux-5.15/777-v5.16-2-net-phylink-add-phylink_set_10g_modes-helper.patch
new file mode 100644
index 0000000..83c5a4c
--- /dev/null
+++ b/pkgs/patches-linux-5.15/777-v5.16-2-net-phylink-add-phylink_set_10g_modes-helper.patch
@@ -0,0 +1,52 @@
+From 429a7a12a7a11fd5df24915934bc4d01d521ae96 Mon Sep 17 00:00:00 2001
+From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
+Date: Mon, 4 Oct 2021 12:03:28 +0100
+Subject: [PATCH 2/3] net: phylink: add phylink_set_10g_modes() helper
+
+Add a helper for setting 10Gigabit modes, so we have one central
+place that sets all appropriate 10G modes for a driver.
+
+Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/phy/phylink.c | 11 +++++++++++
+ include/linux/phylink.h | 1 +
+ 2 files changed, 12 insertions(+)
+
+diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
+index 4861924303ee..0720f05ecb02 100644
+--- a/drivers/net/phy/phylink.c
++++ b/drivers/net/phy/phylink.c
+@@ -133,6 +133,17 @@ void phylink_set_port_modes(unsigned long *mask)
+ }
+ EXPORT_SYMBOL_GPL(phylink_set_port_modes);
+
++void phylink_set_10g_modes(unsigned long *mask)
++{
++ phylink_set(mask, 10000baseT_Full);
++ phylink_set(mask, 10000baseCR_Full);
++ phylink_set(mask, 10000baseSR_Full);
++ phylink_set(mask, 10000baseLR_Full);
++ phylink_set(mask, 10000baseLRM_Full);
++ phylink_set(mask, 10000baseER_Full);
++}
++EXPORT_SYMBOL_GPL(phylink_set_10g_modes);
++
+ static int phylink_is_empty_linkmode(const unsigned long *linkmode)
+ {
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(tmp) = { 0, };
+diff --git a/include/linux/phylink.h b/include/linux/phylink.h
+index 174343ccd685..f037470b6fb3 100644
+--- a/include/linux/phylink.h
++++ b/include/linux/phylink.h
+@@ -493,6 +493,7 @@ int phylink_speed_up(struct phylink *pl);
+ #define phylink_test(bm, mode) __phylink_do_bit(test_bit, bm, mode)
+
+ void phylink_set_port_modes(unsigned long *bits);
++void phylink_set_10g_modes(unsigned long *mask);
+ void phylink_helper_basex_speed(struct phylink_link_state *state);
+
+ void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs,
+--
+2.35.1
+