kernel: bump 5.4 to 5.4.124
Manually rebased generic/hack-5.4/662-remove_pfifo_fast.patch ramips/patches-5.4/0048-asoc-add-mt7620-support.patch All others updated automatically. Compile-tested on: armvirt/64, x86/generic, ath79/generic, ramips/mt7621 Runtime-tested on: armvirt/64, x86/generic, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -1450,7 +1450,9 @@ static void mt7530_phylink_mac_link_down
|
||||
@@ -1442,7 +1442,9 @@ static void mt7530_phylink_mac_link_down
|
||||
static void mt7530_phylink_mac_link_up(struct dsa_switch *ds, int port,
|
||||
unsigned int mode,
|
||||
phy_interface_t interface,
|
||||
@@ -90,7 +90,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mv88e6xxx_mac_link_force(ds, port, LINK_FORCED_UP);
|
||||
--- a/drivers/net/dsa/sja1105/sja1105_main.c
|
||||
+++ b/drivers/net/dsa/sja1105/sja1105_main.c
|
||||
@@ -830,7 +830,9 @@ static void sja1105_mac_link_down(struct
|
||||
@@ -831,7 +831,9 @@ static void sja1105_mac_link_down(struct
|
||||
static void sja1105_mac_link_up(struct dsa_switch *ds, int port,
|
||||
unsigned int mode,
|
||||
phy_interface_t interface,
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
mutex_unlock(&priv->reg_mutex);
|
||||
}
|
||||
@@ -1405,8 +1394,7 @@ static void mt7530_phylink_mac_config(st
|
||||
@@ -1397,8 +1386,7 @@ static void mt7530_phylink_mac_config(st
|
||||
|
||||
mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port));
|
||||
mcr_new = mcr_cur;
|
||||
@@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mcr_new |= PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | PMCR_BACKOFF_EN |
|
||||
PMCR_BACKPR_EN | PMCR_FORCE_MODE;
|
||||
|
||||
@@ -1414,26 +1402,6 @@ static void mt7530_phylink_mac_config(st
|
||||
@@ -1406,26 +1394,6 @@ static void mt7530_phylink_mac_config(st
|
||||
if (port == 5 && dsa_is_user_port(ds, 5))
|
||||
mcr_new |= PMCR_EXT_PHY;
|
||||
|
||||
@@ -88,7 +88,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
if (mcr_new != mcr_cur)
|
||||
mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
|
||||
}
|
||||
@@ -1444,7 +1412,7 @@ static void mt7530_phylink_mac_link_down
|
||||
@@ -1436,7 +1404,7 @@ static void mt7530_phylink_mac_link_down
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
@@ -97,7 +97,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
static void mt7530_phylink_mac_link_up(struct dsa_switch *ds, int port,
|
||||
@@ -1455,8 +1423,31 @@ static void mt7530_phylink_mac_link_up(s
|
||||
@@ -1447,8 +1415,31 @@ static void mt7530_phylink_mac_link_up(s
|
||||
bool tx_pause, bool rx_pause)
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
@@ -47,7 +47,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -1342,12 +1344,11 @@ mt7530_setup(struct dsa_switch *ds)
|
||||
@@ -1334,12 +1336,11 @@ mt7530_setup(struct dsa_switch *ds)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
|
||||
switch (port) {
|
||||
case 0: /* Internal phy */
|
||||
@@ -1356,33 +1357,114 @@ static void mt7530_phylink_mac_config(st
|
||||
@@ -1348,33 +1349,114 @@ static void mt7530_phylink_mac_config(st
|
||||
case 3:
|
||||
case 4:
|
||||
if (state->interface != PHY_INTERFACE_MODE_GMII)
|
||||
@@ -189,7 +189,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1450,61 +1532,44 @@ static void mt7530_phylink_mac_link_up(s
|
||||
@@ -1442,61 +1524,44 @@ static void mt7530_phylink_mac_link_up(s
|
||||
mt7530_set(priv, MT7530_PMCR_P(port), mcr);
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
phylink_set(mask, Pause);
|
||||
phylink_set(mask, Asym_Pause);
|
||||
|
||||
@@ -1600,12 +1665,45 @@ static int mt7530_set_mac_eee(struct dsa
|
||||
@@ -1592,12 +1657,45 @@ static int mt7530_set_mac_eee(struct dsa
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
.get_ethtool_stats = mt7530_get_ethtool_stats,
|
||||
.get_sset_count = mt7530_get_sset_count,
|
||||
.port_enable = mt7530_port_enable,
|
||||
@@ -1622,18 +1720,43 @@ static const struct dsa_switch_ops mt753
|
||||
@@ -1614,18 +1712,43 @@ static const struct dsa_switch_ops mt753
|
||||
.port_vlan_del = mt7530_port_vlan_del,
|
||||
.port_mirror_add = mt7530_port_mirror_add,
|
||||
.port_mirror_del = mt7530_port_mirror_del,
|
||||
@@ -372,7 +372,7 @@ Signed-off-by: Sean Wang <sean.wang@mediatek.com>
|
||||
{ /* sentinel */ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, mt7530_of_match);
|
||||
@@ -1671,8 +1794,21 @@ mt7530_probe(struct mdio_device *mdiodev
|
||||
@@ -1663,8 +1786,21 @@ mt7530_probe(struct mdio_device *mdiodev
|
||||
/* Get the hardware identifier from the devicetree node.
|
||||
* We will need it for some of the clock and regulator setup.
|
||||
*/
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#include <linux/mfd/syscon.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/clk.h>
|
||||
@@ -2485,6 +2486,13 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||
@@ -2506,6 +2507,13 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||
if (ret)
|
||||
goto err_disable_pm;
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
|
||||
ret = device_reset(eth->dev);
|
||||
if (ret) {
|
||||
@@ -3083,6 +3091,16 @@ static int mtk_probe(struct platform_dev
|
||||
@@ -3104,6 +3112,16 @@ static int mtk_probe(struct platform_dev
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
GFP_KERNEL);
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
||||
@@ -435,6 +435,12 @@
|
||||
@@ -448,6 +448,12 @@
|
||||
#define RSTCTRL_FE BIT(6)
|
||||
#define RSTCTRL_PPE BIT(31)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user