diff options
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.patch | 52 |
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 + |