kernel: remove obsolete non-upstream block2mtd patches
[openwrt/openwrt.git] / target / linux / generic / pending-5.4 / 750-net-phylink-delay-MAC-configuration-for-copper-SFP-m.patch
index 358b9a10829d2c8c977050c62f1fa6783bdfdcb0..667170a39811a31dbe34166437a48c63a5942e84 100644 (file)
@@ -1,8 +1,7 @@
-From eb514428f75bc67d12ff019c44a8f8ca9f33c54c Mon Sep 17 00:00:00 2001
+From 52c956003a9d5bcae1f445f9dfd42b624adb6e87 Mon Sep 17 00:00:00 2001
 From: Russell King <rmk+kernel@armlinux.org.uk>
-Date: Thu, 21 Nov 2019 17:42:49 +0000
-Subject: [PATCH 653/660] net: phylink: delay MAC configuration for copper SFP
- modules
+Date: Wed, 11 Dec 2019 10:56:45 +0000
+Subject: [PATCH] net: phylink: delay MAC configuration for copper SFP modules
 
 Knowing whether we need to delay the MAC configuration because a module
 may have a PHY is useful to phylink to allow NBASE-T modules to work on
@@ -17,12 +16,14 @@ We move the PHY-based setup a little later, and use the PHYs support
 capabilities rather than the EEPROM parsed capabilities to determine
 whether we can support the PHY.
 
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
 Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+Signed-off-by: David S. Miller <davem@davemloft.net>
 ---
- drivers/net/phy/phylink.c | 59 +++++++++++++++++++++++++++++++--------
- drivers/net/phy/sfp-bus.c | 28 +++++++++++++++++++
- include/linux/sfp.h       |  7 +++++
- 3 files changed, 83 insertions(+), 11 deletions(-)
+ drivers/net/phy/phylink.c | 53 +++++++++++++++++++++++++++++++--------
+ drivers/net/phy/sfp-bus.c | 28 +++++++++++++++++++++
+ include/linux/sfp.h       |  7 ++++++
+ 3 files changed, 78 insertions(+), 10 deletions(-)
 
 --- a/drivers/net/phy/phylink.c
 +++ b/drivers/net/phy/phylink.c
@@ -35,8 +36,8 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 +      u8 sfp_port;
  };
  
- static inline void linkmode_zero(unsigned long *dst)
-@@ -1633,7 +1636,7 @@ static void phylink_sfp_detach(void *ups
+ #define phylink_printk(level, pl, fmt, ...) \
+@@ -1688,7 +1691,7 @@ static void phylink_sfp_detach(void *ups
        pl->netdev->sfp_bus = NULL;
  }
  
@@ -45,8 +46,8 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
                              const unsigned long *supported,
                              const unsigned long *advertising)
  {
-@@ -1707,7 +1710,7 @@ static int phylink_sfp_config(struct phy
-                           phy_modes(config.interface));
+@@ -1762,7 +1765,7 @@ static int phylink_sfp_config(struct phy
+                            phy_modes(config.interface));
        }
  
 -      pl->link_port = port;
@@ -54,7 +55,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  
        if (changed && !test_bit(PHYLINK_DISABLE_STOPPED,
                                 &pl->phylink_disable_state))
-@@ -1720,15 +1723,20 @@ static int phylink_sfp_module_insert(voi
+@@ -1775,15 +1778,20 @@ static int phylink_sfp_module_insert(voi
                                     const struct sfp_eeprom_id *id)
  {
        struct phylink *pl = upstream;
@@ -79,7 +80,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  }
  
  static int phylink_sfp_module_start(void *upstream)
-@@ -1736,10 +1744,19 @@ static int phylink_sfp_module_start(void
+@@ -1791,10 +1799,19 @@ static int phylink_sfp_module_start(void
        struct phylink *pl = upstream;
  
        /* If this SFP module has a PHY, start the PHY now. */
@@ -102,13 +103,11 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  }
  
  static void phylink_sfp_module_stop(void *upstream)
-@@ -1773,10 +1790,30 @@ static void phylink_sfp_link_up(void *up
+@@ -1828,10 +1845,26 @@ static void phylink_sfp_link_up(void *up
  static int phylink_sfp_connect_phy(void *upstream, struct phy_device *phy)
  {
        struct phylink *pl = upstream;
 -      phy_interface_t interface = pl->link_config.interface;
-+      __ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
-+      __ETHTOOL_DECLARE_LINK_MODE_MASK(advertising);
 +      phy_interface_t interface;
        int ret;
  
@@ -122,11 +121,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 +       */
 +      phy_support_asym_pause(phy);
 +
-+      ethtool_convert_legacy_u32_to_link_mode(supported, phy->supported);
-+      ethtool_convert_legacy_u32_to_link_mode(advertising, phy->advertising);
-+
 +      /* Do the initial configuration */
-+      ret = phylink_sfp_config(pl, ML_AN_INBAND, supported, advertising);
++      ret = phylink_sfp_config(pl, MLO_AN_INBAND, phy->supported,
++                               phy->advertising);
 +      if (ret < 0)
 +              return ret;
 +
@@ -137,7 +134,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  
 --- a/drivers/net/phy/sfp-bus.c
 +++ b/drivers/net/phy/sfp-bus.c
-@@ -102,6 +102,7 @@ static const struct sfp_quirk *sfp_looku
+@@ -103,6 +103,7 @@ static const struct sfp_quirk *sfp_looku
  
        return NULL;
  }
@@ -145,7 +142,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  /**
   * sfp_parse_port() - Parse the EEPROM base ID, setting the port type
   * @bus: a pointer to the &struct sfp_bus structure for the sfp module
-@@ -178,6 +179,33 @@ int sfp_parse_port(struct sfp_bus *bus,
+@@ -179,6 +180,33 @@ int sfp_parse_port(struct sfp_bus *bus,
  EXPORT_SYMBOL_GPL(sfp_parse_port);
  
  /**