aboutsummaryrefslogtreecommitdiff
path: root/pkgs/patches-linux-5.15/779-v5.16-3-net-mvpp2-drop-use-of-phylink_helper_basex_speed.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/patches-linux-5.15/779-v5.16-3-net-mvpp2-drop-use-of-phylink_helper_basex_speed.patch')
-rw-r--r--pkgs/patches-linux-5.15/779-v5.16-3-net-mvpp2-drop-use-of-phylink_helper_basex_speed.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/patches-linux-5.15/779-v5.16-3-net-mvpp2-drop-use-of-phylink_helper_basex_speed.patch b/pkgs/patches-linux-5.15/779-v5.16-3-net-mvpp2-drop-use-of-phylink_helper_basex_speed.patch
new file mode 100644
index 0000000..0d3add4
--- /dev/null
+++ b/pkgs/patches-linux-5.15/779-v5.16-3-net-mvpp2-drop-use-of-phylink_helper_basex_speed.patch
@@ -0,0 +1,58 @@
+From 5159f776d9ca2bf038499a551292231740df8122 Mon Sep 17 00:00:00 2001
+From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
+Date: Wed, 27 Oct 2021 10:49:24 +0100
+Subject: [PATCH 3/4] net: mvpp2: drop use of phylink_helper_basex_speed()
+
+Now that we have a better method to select SFP interface modes, we
+no longer need to use phylink_helper_basex_speed() in a driver's
+validation function, and we can also get rid of our hack to indicate
+both 1000base-X and 2500base-X if the comphy is present to make that
+work. Remove this hack and use of phylink_helper_basex_speed().
+
+Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 19 +++++++------------
+ 1 file changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+index 9ee1b7ef6edf..a354aa8d7b9a 100644
+--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
++++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+@@ -6307,17 +6307,14 @@ static void mvpp2_phylink_validate(struct phylink_config *config,
+ break;
+ fallthrough;
+ case PHY_INTERFACE_MODE_1000BASEX:
++ phylink_set(mask, 1000baseT_Full);
++ phylink_set(mask, 1000baseX_Full);
++ if (state->interface != PHY_INTERFACE_MODE_NA)
++ break;
++ fallthrough;
+ case PHY_INTERFACE_MODE_2500BASEX:
+- if (port->comphy ||
+- state->interface != PHY_INTERFACE_MODE_2500BASEX) {
+- phylink_set(mask, 1000baseT_Full);
+- phylink_set(mask, 1000baseX_Full);
+- }
+- if (port->comphy ||
+- state->interface == PHY_INTERFACE_MODE_2500BASEX) {
+- phylink_set(mask, 2500baseT_Full);
+- phylink_set(mask, 2500baseX_Full);
+- }
++ phylink_set(mask, 2500baseT_Full);
++ phylink_set(mask, 2500baseX_Full);
+ break;
+ default:
+ goto empty_set;
+@@ -6325,8 +6322,6 @@ static void mvpp2_phylink_validate(struct phylink_config *config,
+
+ linkmode_and(supported, supported, mask);
+ linkmode_and(state->advertising, state->advertising, mask);
+-
+- phylink_helper_basex_speed(state);
+ return;
+
+ empty_set:
+--
+2.35.1
+