kernel: bump 5.4 to 5.4.124
[openwrt/staging/ynezz.git] / target / linux / mediatek / patches-5.4 / 0604-net-dsa-mt7530-Add-the-support-of-MT7531-switch.patch
index 9333f03aaf9c0ef1bebe0f53a6cef4f8687e3276..8434c61b505391fc0024029e8009c72a357ed4f8 100644 (file)
@@ -394,7 +394,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
         */
        mt7530_write(priv, MT7530_PCR_P(port),
                     PCR_MATRIX(dsa_user_ports(priv->ds)));
-@@ -1130,27 +1454,42 @@ mt7530_port_vlan_del(struct dsa_switch *
+@@ -1122,27 +1446,42 @@ mt7530_port_vlan_del(struct dsa_switch *
        return 0;
  }
  
@@ -444,7 +444,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  
        val = mt7530_read(priv, MT7530_PCR_P(port));
        if (ingress) {
-@@ -1165,7 +1504,7 @@ static int mt7530_port_mirror_add(struct
+@@ -1157,7 +1496,7 @@ static int mt7530_port_mirror_add(struct
        return 0;
  }
  
@@ -453,7 +453,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                                   struct dsa_mall_mirror_tc_entry *mirror)
  {
        struct mt7530_priv *priv = ds->priv;
-@@ -1182,9 +1521,9 @@ static void mt7530_port_mirror_del(struc
+@@ -1174,9 +1513,9 @@ static void mt7530_port_mirror_del(struc
        mt7530_write(priv, MT7530_PCR_P(port), val);
  
        if (!priv->mirror_rx && !priv->mirror_tx) {
@@ -466,7 +466,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
        }
  }
  
-@@ -1290,7 +1629,7 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -1282,7 +1621,7 @@ mt7530_setup(struct dsa_switch *ds)
                           PCR_MATRIX_CLR);
  
                if (dsa_is_cpu_port(ds, i))
@@ -475,7 +475,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                else
                        mt7530_port_disable(ds, i);
  
-@@ -1344,6 +1683,118 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -1336,6 +1675,118 @@ mt7530_setup(struct dsa_switch *ds)
        return 0;
  }
  
@@ -594,7 +594,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  static bool
  mt7530_phy_mode_supported(struct dsa_switch *ds, int port,
                          const struct phylink_link_state *state)
-@@ -1382,6 +1833,47 @@ unsupported:
+@@ -1374,6 +1825,47 @@ unsupported:
        return false;
  }
  
@@ -642,7 +642,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  static bool
  mt753x_phy_mode_supported(struct dsa_switch *ds, int port,
                          const struct phylink_link_state *state)
-@@ -1414,6 +1906,227 @@ mt7530_mac_config(struct dsa_switch *ds,
+@@ -1406,6 +1898,227 @@ mt7530_mac_config(struct dsa_switch *ds,
        return 0;
  }
  
@@ -870,7 +870,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  static int
  mt753x_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
                  const struct phylink_link_state *state)
-@@ -1449,6 +2162,8 @@ mt753x_phylink_mac_config(struct dsa_swi
+@@ -1441,6 +2154,8 @@ mt753x_phylink_mac_config(struct dsa_swi
                if (mt753x_mac_config(ds, port, mode, state) < 0)
                        goto unsupported;
  
@@ -879,7 +879,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                break;
        case 6: /* 1st cpu port */
                if (priv->p6_interface == state->interface)
-@@ -1468,7 +2183,8 @@ unsupported:
+@@ -1460,7 +2175,8 @@ unsupported:
                return;
        }
  
@@ -889,7 +889,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                dev_err(ds->dev, "%s: in-band negotiation unsupported\n",
                        __func__);
                return;
-@@ -1478,7 +2194,7 @@ unsupported:
+@@ -1470,7 +2186,7 @@ unsupported:
        mcr_new = mcr_cur;
        mcr_new &= ~PMCR_LINK_SETTINGS_MASK;
        mcr_new |= PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | PMCR_BACKOFF_EN |
@@ -898,7 +898,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  
        /* Are we connected to external phy */
        if (port == 5 && dsa_is_user_port(ds, 5))
-@@ -1488,7 +2204,18 @@ unsupported:
+@@ -1480,7 +2196,18 @@ unsupported:
                mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
  }
  
@@ -918,7 +918,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                                         unsigned int mode,
                                         phy_interface_t interface)
  {
-@@ -1497,7 +2224,19 @@ static void mt7530_phylink_mac_link_down
+@@ -1489,7 +2216,19 @@ static void mt7530_phylink_mac_link_down
        mt7530_clear(priv, MT7530_PMCR_P(port), PMCR_LINK_SETTINGS_MASK);
  }
  
@@ -939,7 +939,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                                       unsigned int mode,
                                       phy_interface_t interface,
                                       struct phy_device *phydev,
-@@ -1507,18 +2246,29 @@ static void mt7530_phylink_mac_link_up(s
+@@ -1499,18 +2238,29 @@ static void mt7530_phylink_mac_link_up(s
        struct mt7530_priv *priv = ds->priv;
        u32 mcr;
  
@@ -971,7 +971,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                break;
        }
        if (duplex == DUPLEX_FULL) {
-@@ -1532,6 +2282,45 @@ static void mt7530_phylink_mac_link_up(s
+@@ -1524,6 +2274,45 @@ static void mt7530_phylink_mac_link_up(s
        mt7530_set(priv, MT7530_PMCR_P(port), mcr);
  }
  
@@ -1017,7 +1017,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  static void
  mt7530_mac_port_validate(struct dsa_switch *ds, int port,
                         unsigned long *supported)
-@@ -1540,6 +2329,14 @@ mt7530_mac_port_validate(struct dsa_swit
+@@ -1532,6 +2321,14 @@ mt7530_mac_port_validate(struct dsa_swit
                phylink_set(supported, 1000baseX_Full);
  }
  
@@ -1032,7 +1032,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  static void
  mt753x_phylink_validate(struct dsa_switch *ds, int port,
                        unsigned long *supported,
-@@ -1556,7 +2353,8 @@ mt753x_phylink_validate(struct dsa_switc
+@@ -1548,7 +2345,8 @@ mt753x_phylink_validate(struct dsa_switc
  
        phylink_set_port_modes(mask);
  
@@ -1042,7 +1042,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
                phylink_set(mask, 10baseT_Half);
                phylink_set(mask, 10baseT_Full);
                phylink_set(mask, 100baseT_Half);
-@@ -1575,6 +2373,11 @@ mt753x_phylink_validate(struct dsa_switc
+@@ -1567,6 +2365,11 @@ mt753x_phylink_validate(struct dsa_switc
  
        linkmode_and(supported, supported, mask);
        linkmode_and(state->advertising, state->advertising, mask);
@@ -1054,7 +1054,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  }
  
  static int
-@@ -1665,6 +2468,63 @@ static int mt7530_set_mac_eee(struct dsa
+@@ -1657,6 +2460,63 @@ static int mt7530_set_mac_eee(struct dsa
        return 0;
  }
  
@@ -1118,7 +1118,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
  static int
  mt753x_phylink_mac_link_state(struct dsa_switch *ds, int port,
                              struct phylink_link_state *state)
-@@ -1718,13 +2578,14 @@ static const struct dsa_switch_ops mt753
+@@ -1710,13 +2570,14 @@ static const struct dsa_switch_ops mt753
        .port_vlan_prepare      = mt7530_port_vlan_prepare,
        .port_vlan_add          = mt7530_port_vlan_add,
        .port_vlan_del          = mt7530_port_vlan_del,
@@ -1137,7 +1137,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
        .get_mac_eee            = mt7530_get_mac_eee,
        .set_mac_eee            = mt7530_set_mac_eee,
  };
-@@ -1752,11 +2613,26 @@ static const struct mt753x_info mt753x_t
+@@ -1744,11 +2605,26 @@ static const struct mt753x_info mt753x_t
                .mac_port_get_state = mt7530_phylink_mac_link_state,
                .mac_port_config = mt7530_mac_config,
        },