|
|
@@ -394,7 +394,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
*/
|
|
|
mt7530_write(priv, MT7530_PCR_P(port),
|
|
|
PCR_MATRIX(dsa_user_ports(priv->ds)));
|
|
|
-@@ -1123,27 +1447,42 @@ mt7530_port_vlan_del(struct dsa_switch *
|
|
|
+@@ -1120,27 +1444,42 @@ mt7530_port_vlan_del(struct dsa_switch *
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -444,7 +444,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
|
|
|
val = mt7530_read(priv, MT7530_PCR_P(port));
|
|
|
if (ingress) {
|
|
|
-@@ -1158,7 +1497,7 @@ static int mt7530_port_mirror_add(struct
|
|
|
+@@ -1155,7 +1494,7 @@ static int mt7530_port_mirror_add(struct
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -453,7 +453,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
struct dsa_mall_mirror_tc_entry *mirror)
|
|
|
{
|
|
|
struct mt7530_priv *priv = ds->priv;
|
|
|
-@@ -1175,9 +1514,9 @@ static void mt7530_port_mirror_del(struc
|
|
|
+@@ -1172,9 +1511,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 <[email protected]>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-@@ -1283,7 +1622,7 @@ mt7530_setup(struct dsa_switch *ds)
|
|
|
+@@ -1280,7 +1619,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 <[email protected]>
|
|
|
else
|
|
|
mt7530_port_disable(ds, i);
|
|
|
|
|
|
-@@ -1337,6 +1676,118 @@ mt7530_setup(struct dsa_switch *ds)
|
|
|
+@@ -1334,6 +1673,118 @@ mt7530_setup(struct dsa_switch *ds)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -594,7 +594,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
static bool
|
|
|
mt7530_phy_mode_supported(struct dsa_switch *ds, int port,
|
|
|
const struct phylink_link_state *state)
|
|
|
-@@ -1375,6 +1826,47 @@ unsupported:
|
|
|
+@@ -1372,6 +1823,47 @@ unsupported:
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
@@ -642,7 +642,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
static bool
|
|
|
mt753x_phy_mode_supported(struct dsa_switch *ds, int port,
|
|
|
const struct phylink_link_state *state)
|
|
|
-@@ -1407,6 +1899,227 @@ mt7530_mac_config(struct dsa_switch *ds,
|
|
|
+@@ -1404,6 +1896,227 @@ mt7530_mac_config(struct dsa_switch *ds,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -870,7 +870,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
static int
|
|
|
mt753x_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
|
|
|
const struct phylink_link_state *state)
|
|
|
-@@ -1442,6 +2155,8 @@ mt753x_phylink_mac_config(struct dsa_swi
|
|
|
+@@ -1439,6 +2152,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 <[email protected]>
|
|
|
break;
|
|
|
case 6: /* 1st cpu port */
|
|
|
if (priv->p6_interface == state->interface)
|
|
|
-@@ -1461,7 +2176,8 @@ unsupported:
|
|
|
+@@ -1458,7 +2173,8 @@ unsupported:
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -889,7 +889,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
dev_err(ds->dev, "%s: in-band negotiation unsupported\n",
|
|
|
__func__);
|
|
|
return;
|
|
|
-@@ -1471,7 +2187,7 @@ unsupported:
|
|
|
+@@ -1468,7 +2184,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 <[email protected]>
|
|
|
|
|
|
/* Are we connected to external phy */
|
|
|
if (port == 5 && dsa_is_user_port(ds, 5))
|
|
|
-@@ -1481,7 +2197,18 @@ unsupported:
|
|
|
+@@ -1478,7 +2194,18 @@ unsupported:
|
|
|
mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
|
|
|
}
|
|
|
|
|
|
@@ -918,7 +918,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
unsigned int mode,
|
|
|
phy_interface_t interface)
|
|
|
{
|
|
|
-@@ -1490,7 +2217,19 @@ static void mt7530_phylink_mac_link_down
|
|
|
+@@ -1487,7 +2214,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 <[email protected]>
|
|
|
unsigned int mode,
|
|
|
phy_interface_t interface,
|
|
|
struct phy_device *phydev,
|
|
|
-@@ -1500,18 +2239,29 @@ static void mt7530_phylink_mac_link_up(s
|
|
|
+@@ -1497,18 +2236,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 <[email protected]>
|
|
|
break;
|
|
|
}
|
|
|
if (duplex == DUPLEX_FULL) {
|
|
|
-@@ -1525,6 +2275,45 @@ static void mt7530_phylink_mac_link_up(s
|
|
|
+@@ -1522,6 +2272,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 <[email protected]>
|
|
|
static void
|
|
|
mt7530_mac_port_validate(struct dsa_switch *ds, int port,
|
|
|
unsigned long *supported)
|
|
|
-@@ -1533,6 +2322,14 @@ mt7530_mac_port_validate(struct dsa_swit
|
|
|
+@@ -1530,6 +2319,14 @@ mt7530_mac_port_validate(struct dsa_swit
|
|
|
phylink_set(supported, 1000baseX_Full);
|
|
|
}
|
|
|
|
|
|
@@ -1032,7 +1032,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
static void
|
|
|
mt753x_phylink_validate(struct dsa_switch *ds, int port,
|
|
|
unsigned long *supported,
|
|
|
-@@ -1549,7 +2346,8 @@ mt753x_phylink_validate(struct dsa_switc
|
|
|
+@@ -1546,7 +2343,8 @@ mt753x_phylink_validate(struct dsa_switc
|
|
|
|
|
|
phylink_set_port_modes(mask);
|
|
|
|
|
|
@@ -1042,7 +1042,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
phylink_set(mask, 10baseT_Half);
|
|
|
phylink_set(mask, 10baseT_Full);
|
|
|
phylink_set(mask, 100baseT_Half);
|
|
|
-@@ -1568,6 +2366,11 @@ mt753x_phylink_validate(struct dsa_switc
|
|
|
+@@ -1565,6 +2363,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 <[email protected]>
|
|
|
}
|
|
|
|
|
|
static int
|
|
|
-@@ -1658,6 +2461,63 @@ static int mt7530_set_mac_eee(struct dsa
|
|
|
+@@ -1655,6 +2458,63 @@ static int mt7530_set_mac_eee(struct dsa
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -1118,7 +1118,7 @@ Signed-off-by: Sean Wang <[email protected]>
|
|
|
static int
|
|
|
mt753x_phylink_mac_link_state(struct dsa_switch *ds, int port,
|
|
|
struct phylink_link_state *state)
|
|
|
-@@ -1711,13 +2571,14 @@ static const struct dsa_switch_ops mt753
|
|
|
+@@ -1708,13 +2568,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 <[email protected]>
|
|
|
.get_mac_eee = mt7530_get_mac_eee,
|
|
|
.set_mac_eee = mt7530_set_mac_eee,
|
|
|
};
|
|
|
-@@ -1745,11 +2606,26 @@ static const struct mt753x_info mt753x_t
|
|
|
+@@ -1742,11 +2603,26 @@ static const struct mt753x_info mt753x_t
|
|
|
.mac_port_get_state = mt7530_phylink_mac_link_state,
|
|
|
.mac_port_config = mt7530_mac_config,
|
|
|
},
|