-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.28 Removed upstream: pending-6.6/796-net-dsa-mt7530-trap-link-local-frames-regardless-of-.patch All oither patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.28&id=8b6c4b62582606c62074a7e7c64156f56d2785f2 Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <[email protected]>
- Loading branch information
Showing
29 changed files
with
98 additions
and
581 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
LINUX_VERSION-6.6 = .27 | ||
LINUX_KERNEL_HASH-6.6.27 = 639e50060e3c8f23ed017cb10cfeacc6ba88ff5583812bb76859b4cc6a128291 | ||
LINUX_VERSION-6.6 = .28 | ||
LINUX_KERNEL_HASH-6.6.28 = 818716ed13e7dba6aaeae24e3073993e260812ed128d10272e94b922ee6d3394 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
|
||
--- a/drivers/net/dsa/mt7530.c | ||
+++ b/drivers/net/dsa/mt7530.c | ||
@@ -2860,15 +2860,6 @@ static void mt753x_phylink_mac_link_down | ||
@@ -3021,15 +3021,6 @@ static void mt753x_phylink_mac_link_down | ||
mt7530_clear(priv, MT7530_PMCR_P(port), PMCR_LINK_SETTINGS_MASK); | ||
} | ||
|
||
|
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
static void mt753x_phylink_mac_link_up(struct dsa_switch *ds, int port, | ||
unsigned int mode, | ||
phy_interface_t interface, | ||
@@ -2956,8 +2947,6 @@ mt7531_cpu_port_config(struct dsa_switch | ||
@@ -3117,8 +3108,6 @@ mt7531_cpu_port_config(struct dsa_switch | ||
return ret; | ||
mt7530_write(priv, MT7530_PMCR_P(port), | ||
PMCR_CPU_PORT_SETTING(priv->id)); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,7 +46,7 @@ Signed-off-by: Paolo Abeni <[email protected]> | |
|
||
--- a/drivers/net/dsa/mt7530.c | ||
+++ b/drivers/net/dsa/mt7530.c | ||
@@ -2182,24 +2182,40 @@ mt7530_free_irq_common(struct mt7530_pri | ||
@@ -2343,24 +2343,40 @@ mt7530_free_irq_common(struct mt7530_pri | ||
static void | ||
mt7530_free_irq(struct mt7530_priv *priv) | ||
{ | ||
|
@@ -92,7 +92,7 @@ Signed-off-by: Paolo Abeni <[email protected]> | |
bus->priv = priv; | ||
bus->name = KBUILD_MODNAME "-mii"; | ||
snprintf(bus->id, MII_BUS_ID_SIZE, KBUILD_MODNAME "-%d", idx++); | ||
@@ -2210,16 +2226,18 @@ mt7530_setup_mdio(struct mt7530_priv *pr | ||
@@ -2371,16 +2387,18 @@ mt7530_setup_mdio(struct mt7530_priv *pr | ||
bus->parent = dev; | ||
bus->phy_mask = ~ds->phys_mii_mask; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
|
||
--- a/drivers/net/dsa/mt7530.c | ||
+++ b/drivers/net/dsa/mt7530.c | ||
@@ -1071,10 +1071,6 @@ mt753x_cpu_port_enable(struct dsa_switch | ||
@@ -1232,10 +1232,6 @@ mt753x_cpu_port_enable(struct dsa_switch | ||
mt7530_set(priv, MT7530_MFC, BC_FFP(BIT(port)) | UNM_FFP(BIT(port)) | | ||
UNU_FFP(BIT(port))); | ||
|
||
|
@@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
/* Add the CPU port to the CPU port bitmap for MT7531 and the switch on | ||
* the MT7988 SoC. Trapped frames will be forwarded to the CPU port that | ||
* is affine to the inbound user port. | ||
@@ -3128,6 +3124,36 @@ static int mt753x_set_mac_eee(struct dsa | ||
@@ -3289,6 +3285,36 @@ static int mt753x_set_mac_eee(struct dsa | ||
return 0; | ||
} | ||
|
||
|
@@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
static int mt7988_pad_setup(struct dsa_switch *ds, phy_interface_t interface) | ||
{ | ||
return 0; | ||
@@ -3183,6 +3209,7 @@ const struct dsa_switch_ops mt7530_switc | ||
@@ -3344,6 +3370,7 @@ const struct dsa_switch_ops mt7530_switc | ||
.phylink_mac_link_up = mt753x_phylink_mac_link_up, | ||
.get_mac_eee = mt753x_get_mac_eee, | ||
.set_mac_eee = mt753x_set_mac_eee, | ||
|
@@ -107,15 +107,15 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
#define MIRROR_EN BIT(3) | ||
#define MIRROR_PORT(x) ((x) & 0x7) | ||
#define MIRROR_MASK 0x7 | ||
@@ -780,6 +780,7 @@ struct mt753x_info { | ||
@@ -785,6 +785,7 @@ struct mt753x_info { | ||
* @irq_domain: IRQ domain of the switch irq_chip | ||
* @irq_enable: IRQ enable bits, synced to SYS_INT_EN | ||
* @create_sgmii: Pointer to function creating SGMII PCS instance(s) | ||
+ * @active_cpu_ports: Holding the active CPU ports | ||
*/ | ||
struct mt7530_priv { | ||
struct device *dev; | ||
@@ -806,6 +807,7 @@ struct mt7530_priv { | ||
@@ -811,6 +812,7 @@ struct mt7530_priv { | ||
struct irq_domain *irq_domain; | ||
u32 irq_enable; | ||
int (*create_sgmii)(struct mt7530_priv *priv, bool dual_sgmii); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
|
||
--- a/drivers/net/dsa/mt7530.h | ||
+++ b/drivers/net/dsa/mt7530.h | ||
@@ -703,7 +703,7 @@ struct mt7530_port { | ||
@@ -708,7 +708,7 @@ struct mt7530_port { | ||
|
||
/* Port 5 interface select definitions */ | ||
enum p5_interface_select { | ||
|
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
P5_INTF_SEL_PHY_P0, | ||
P5_INTF_SEL_PHY_P4, | ||
P5_INTF_SEL_GMAC5, | ||
@@ -796,7 +796,7 @@ struct mt7530_priv { | ||
@@ -801,7 +801,7 @@ struct mt7530_priv { | ||
bool mcm; | ||
phy_interface_t p6_interface; | ||
phy_interface_t p5_interface; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -100,7 +100,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
default: | ||
return "unknown"; | ||
} | ||
@@ -2524,6 +2510,12 @@ mt7531_setup(struct dsa_switch *ds) | ||
@@ -2685,6 +2671,12 @@ mt7531_setup(struct dsa_switch *ds) | ||
return -ENODEV; | ||
} | ||
|
||
|
@@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
/* all MACs must be forced link-down before sw reset */ | ||
for (i = 0; i < MT7530_NUM_PORTS; i++) | ||
mt7530_write(priv, MT7530_PMCR_P(i), MT7531_FORCE_LNK); | ||
@@ -2533,21 +2525,18 @@ mt7531_setup(struct dsa_switch *ds) | ||
@@ -2694,21 +2686,18 @@ mt7531_setup(struct dsa_switch *ds) | ||
SYS_CTRL_PHY_RST | SYS_CTRL_SW_RST | | ||
SYS_CTRL_REG_RST); | ||
|
||
|
@@ -141,7 +141,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
|
||
mt7530_rmw(priv, MT7531_GPIO_MODE0, MT7531_GPIO0_MASK, | ||
MT7531_GPIO0_INTERRUPT); | ||
@@ -2607,11 +2596,6 @@ static void mt7530_mac_port_get_caps(str | ||
@@ -2768,11 +2757,6 @@ static void mt7530_mac_port_get_caps(str | ||
} | ||
} | ||
|
||
|
@@ -153,7 +153,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
static void mt7531_mac_port_get_caps(struct dsa_switch *ds, int port, | ||
struct phylink_config *config) | ||
{ | ||
@@ -2624,7 +2608,7 @@ static void mt7531_mac_port_get_caps(str | ||
@@ -2785,7 +2769,7 @@ static void mt7531_mac_port_get_caps(str | ||
break; | ||
|
||
case 5: /* 2nd cpu port supports either rgmii or sgmii/8023z */ | ||
|
@@ -162,7 +162,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
phy_interface_set_rgmii(config->supported_interfaces); | ||
break; | ||
} | ||
@@ -2691,7 +2675,7 @@ static int mt7531_rgmii_setup(struct mt7 | ||
@@ -2852,7 +2836,7 @@ static int mt7531_rgmii_setup(struct mt7 | ||
{ | ||
u32 val; | ||
|
||
|
@@ -171,7 +171,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
dev_err(priv->dev, "RGMII mode is not available for port %d\n", | ||
port); | ||
return -EINVAL; | ||
@@ -2934,7 +2918,7 @@ mt7531_cpu_port_config(struct dsa_switch | ||
@@ -3095,7 +3079,7 @@ mt7531_cpu_port_config(struct dsa_switch | ||
|
||
switch (port) { | ||
case 5: | ||
|
@@ -180,7 +180,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
interface = PHY_INTERFACE_MODE_RGMII; | ||
else | ||
interface = PHY_INTERFACE_MODE_2500BASEX; | ||
@@ -3086,7 +3070,7 @@ mt753x_setup(struct dsa_switch *ds) | ||
@@ -3247,7 +3231,7 @@ mt753x_setup(struct dsa_switch *ds) | ||
mt7530_free_irq_common(priv); | ||
|
||
if (priv->create_sgmii) { | ||
|
@@ -191,15 +191,15 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
} | ||
--- a/drivers/net/dsa/mt7530.h | ||
+++ b/drivers/net/dsa/mt7530.h | ||
@@ -707,7 +707,6 @@ enum p5_interface_select { | ||
@@ -712,7 +712,6 @@ enum p5_interface_select { | ||
P5_INTF_SEL_PHY_P0, | ||
P5_INTF_SEL_PHY_P4, | ||
P5_INTF_SEL_GMAC5, | ||
- P5_INTF_SEL_GMAC5_SGMII, | ||
}; | ||
|
||
struct mt7530_priv; | ||
@@ -776,6 +775,8 @@ struct mt753x_info { | ||
@@ -781,6 +780,8 @@ struct mt753x_info { | ||
* registers | ||
* @p6_interface Holding the current port 6 interface | ||
* @p5_intf_sel: Holding the current port 5 interface select | ||
|
@@ -208,15 +208,15 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
* @irq: IRQ number of the switch | ||
* @irq_domain: IRQ domain of the switch irq_chip | ||
* @irq_enable: IRQ enable bits, synced to SYS_INT_EN | ||
@@ -797,6 +798,7 @@ struct mt7530_priv { | ||
@@ -802,6 +803,7 @@ struct mt7530_priv { | ||
phy_interface_t p6_interface; | ||
phy_interface_t p5_interface; | ||
enum p5_interface_select p5_intf_sel; | ||
+ bool p5_sgmii; | ||
u8 mirror_rx; | ||
u8 mirror_tx; | ||
struct mt7530_port ports[MT7530_NUM_PORTS]; | ||
@@ -806,7 +808,7 @@ struct mt7530_priv { | ||
@@ -811,7 +813,7 @@ struct mt7530_priv { | ||
int irq; | ||
struct irq_domain *irq_domain; | ||
u32 irq_enable; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
|
||
--- a/drivers/net/dsa/mt7530.c | ||
+++ b/drivers/net/dsa/mt7530.c | ||
@@ -2574,12 +2574,14 @@ static void mt7530_mac_port_get_caps(str | ||
@@ -2735,12 +2735,14 @@ static void mt7530_mac_port_get_caps(str | ||
struct phylink_config *config) | ||
{ | ||
switch (port) { | ||
|
@@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
phy_interface_set_rgmii(config->supported_interfaces); | ||
__set_bit(PHY_INTERFACE_MODE_MII, | ||
config->supported_interfaces); | ||
@@ -2587,7 +2589,8 @@ static void mt7530_mac_port_get_caps(str | ||
@@ -2748,7 +2750,8 @@ static void mt7530_mac_port_get_caps(str | ||
config->supported_interfaces); | ||
break; | ||
|
||
|
@@ -64,7 +64,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
__set_bit(PHY_INTERFACE_MODE_RGMII, | ||
config->supported_interfaces); | ||
__set_bit(PHY_INTERFACE_MODE_TRGMII, | ||
@@ -2602,19 +2605,24 @@ static void mt7531_mac_port_get_caps(str | ||
@@ -2763,19 +2766,24 @@ static void mt7531_mac_port_get_caps(str | ||
struct mt7530_priv *priv = ds->priv; | ||
|
||
switch (port) { | ||
|
@@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
__set_bit(PHY_INTERFACE_MODE_SGMII, | ||
config->supported_interfaces); | ||
__set_bit(PHY_INTERFACE_MODE_1000BASEX, | ||
@@ -2633,11 +2641,13 @@ static void mt7988_mac_port_get_caps(str | ||
@@ -2794,11 +2802,13 @@ static void mt7988_mac_port_get_caps(str | ||
phy_interface_zero(config->supported_interfaces); | ||
|
||
switch (port) { | ||
|
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
case 6: | ||
__set_bit(PHY_INTERFACE_MODE_INTERNAL, | ||
config->supported_interfaces); | ||
@@ -2801,12 +2811,12 @@ mt753x_phylink_mac_config(struct dsa_swi | ||
@@ -2962,12 +2972,12 @@ mt753x_phylink_mac_config(struct dsa_swi | ||
u32 mcr_cur, mcr_new; | ||
|
||
switch (port) { | ||
|
@@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
if (priv->p5_interface == state->interface) | ||
break; | ||
|
||
@@ -2816,7 +2826,7 @@ mt753x_phylink_mac_config(struct dsa_swi | ||
@@ -2977,7 +2987,7 @@ mt753x_phylink_mac_config(struct dsa_swi | ||
if (priv->p5_intf_sel != P5_DISABLED) | ||
priv->p5_interface = state->interface; | ||
break; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,7 +52,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
|
||
--- a/drivers/net/dsa/mt7530.c | ||
+++ b/drivers/net/dsa/mt7530.c | ||
@@ -2362,16 +2362,15 @@ mt7530_setup(struct dsa_switch *ds) | ||
@@ -2523,16 +2523,15 @@ mt7530_setup(struct dsa_switch *ds) | ||
return ret; | ||
|
||
/* Setup port 5 */ | ||
|
@@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
for_each_child_of_node(dn, mac_np) { | ||
if (!of_device_is_compatible(mac_np, | ||
"mediatek,eth-mac")) | ||
@@ -2402,6 +2401,8 @@ mt7530_setup(struct dsa_switch *ds) | ||
@@ -2563,6 +2562,8 @@ mt7530_setup(struct dsa_switch *ds) | ||
of_node_put(phy_node); | ||
break; | ||
} | ||
|
@@ -84,7 +84,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
} | ||
|
||
#ifdef CONFIG_GPIOLIB | ||
@@ -2412,8 +2413,6 @@ mt7530_setup(struct dsa_switch *ds) | ||
@@ -2573,8 +2574,6 @@ mt7530_setup(struct dsa_switch *ds) | ||
} | ||
#endif /* CONFIG_GPIOLIB */ | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
default: | ||
dev_err(ds->dev, "Unsupported p5_intf_sel %d\n", | ||
priv->p5_intf_sel); | ||
@@ -2367,8 +2364,6 @@ mt7530_setup(struct dsa_switch *ds) | ||
@@ -2528,8 +2525,6 @@ mt7530_setup(struct dsa_switch *ds) | ||
* Set priv->p5_intf_sel to the appropriate value if PHY muxing | ||
* is detected. | ||
*/ | ||
|
@@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
for_each_child_of_node(dn, mac_np) { | ||
if (!of_device_is_compatible(mac_np, | ||
"mediatek,eth-mac")) | ||
@@ -2400,7 +2395,9 @@ mt7530_setup(struct dsa_switch *ds) | ||
@@ -2561,7 +2556,9 @@ mt7530_setup(struct dsa_switch *ds) | ||
break; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
switch (interface) { | ||
case PHY_INTERFACE_MODE_RGMII: | ||
trgint = 0; | ||
@@ -2295,6 +2288,12 @@ mt7530_setup(struct dsa_switch *ds) | ||
@@ -2456,6 +2449,12 @@ mt7530_setup(struct dsa_switch *ds) | ||
return -ENODEV; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <[email protected]> | |
return 0; | ||
} | ||
|
||
@@ -2649,11 +2653,10 @@ mt7530_mac_config(struct dsa_switch *ds, | ||
@@ -2810,11 +2814,10 @@ mt7530_mac_config(struct dsa_switch *ds, | ||
{ | ||
struct mt7530_priv *priv = ds->priv; | ||
|
||
|
Oops, something went wrong.