aboutsummaryrefslogtreecommitdiff
path: root/pkgs/patches-linux-5.15/776-v5.16-4-net-mvneta-drop-use-of-phylink_helper_basex_speed.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/patches-linux-5.15/776-v5.16-4-net-mvneta-drop-use-of-phylink_helper_basex_speed.patch')
-rw-r--r--pkgs/patches-linux-5.15/776-v5.16-4-net-mvneta-drop-use-of-phylink_helper_basex_speed.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/patches-linux-5.15/776-v5.16-4-net-mvneta-drop-use-of-phylink_helper_basex_speed.patch b/pkgs/patches-linux-5.15/776-v5.16-4-net-mvneta-drop-use-of-phylink_helper_basex_speed.patch
new file mode 100644
index 0000000..0b8fbbd
--- /dev/null
+++ b/pkgs/patches-linux-5.15/776-v5.16-4-net-mvneta-drop-use-of-phylink_helper_basex_speed.patch
@@ -0,0 +1,60 @@
+From 0e09bb9ae49bcb121c353861f440e7a9ede3b378 Mon Sep 17 00:00:00 2001
+From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
+Date: Wed, 27 Oct 2021 10:03:53 +0100
+Subject: [PATCH 4/4] net: mvneta: 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>
+---
+ drivers/net/ethernet/marvell/mvneta.c | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
+index c13d4beb570f..51fe2de0215e 100644
+--- a/drivers/net/ethernet/marvell/mvneta.c
++++ b/drivers/net/ethernet/marvell/mvneta.c
+@@ -3851,8 +3851,6 @@ static void mvneta_validate(struct phylink_config *config,
+ unsigned long *supported,
+ struct phylink_link_state *state)
+ {
+- struct net_device *ndev = to_net_dev(config->dev);
+- struct mvneta_port *pp = netdev_priv(ndev);
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
+
+ /* We only support QSGMII, SGMII, 802.3z and RGMII modes.
+@@ -3874,11 +3872,12 @@ static void mvneta_validate(struct phylink_config *config,
+ phylink_set(mask, Pause);
+
+ /* Half-duplex at speeds higher than 100Mbit is unsupported */
+- if (pp->comphy || state->interface != PHY_INTERFACE_MODE_2500BASEX) {
++ if (state->interface != PHY_INTERFACE_MODE_2500BASEX) {
+ phylink_set(mask, 1000baseT_Full);
+ phylink_set(mask, 1000baseX_Full);
+ }
+- if (pp->comphy || state->interface == PHY_INTERFACE_MODE_2500BASEX) {
++
++ if (state->interface == PHY_INTERFACE_MODE_2500BASEX) {
+ phylink_set(mask, 2500baseT_Full);
+ phylink_set(mask, 2500baseX_Full);
+ }
+@@ -3893,11 +3892,6 @@ static void mvneta_validate(struct phylink_config *config,
+
+ linkmode_and(supported, supported, mask);
+ linkmode_and(state->advertising, state->advertising, mask);
+-
+- /* We can only operate at 2500BaseX or 1000BaseX. If requested
+- * to advertise both, only report advertising at 2500BaseX.
+- */
+- phylink_helper_basex_speed(state);
+ }
+
+ static void mvneta_mac_pcs_get_state(struct phylink_config *config,
+--
+2.35.1
+