ramips: fix MT7621 gsw handling
authorJohn Crispin <john@phrozen.org>
Mon, 4 Jul 2016 13:20:25 +0000 (15:20 +0200)
committerJohn Crispin <john@phrozen.org>
Tue, 5 Jul 2016 20:59:13 +0000 (22:59 +0200)
based on https://forum.openwrt.org/viewtopic.php?pid=323671#p323671

Signed-off-by: John Crispin <john@phrozen.org>
target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch [new file with mode: 0644]

diff --git a/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch b/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
new file mode 100644 (file)
index 0000000..c5e73d5
--- /dev/null
@@ -0,0 +1,31 @@
+--- a/drivers/net/ethernet/mediatek/mt7530.c
++++ b/drivers/net/ethernet/mediatek/mt7530.c
+@@ -539,6 +539,7 @@
+               u8 etags = priv->vlan_entries[i].etags;
+               u32 val;
++#ifndef CONFIG_SOC_MT7621
+               /* vid of vlan */
+               val = mt7530_r32(priv, REG_ESW_VLAN_VTIM(i));
+               if (i % 2 == 0) {
+@@ -549,7 +550,7 @@
+                       val |= (vid << 12);
+               }
+               mt7530_w32(priv, REG_ESW_VLAN_VTIM(i), val);
+-
++#endif
+               /* vlan port membership */
+               if (member)
+                       mt7530_w32(priv, REG_ESW_VLAN_VAWD1, REG_ESW_VLAN_VAWD1_IVL_MAC |
+@@ -569,7 +570,11 @@
+               mt7530_w32(priv, REG_ESW_VLAN_VAWD2, val);
+               /* write to vlan table */
++#ifdef CONFIG_SOC_MT7621
++              mt7530_vtcr(priv, 1, vid);
++#else
+               mt7530_vtcr(priv, 1, i);
++#endif
+       }
+       /* Port Default PVID */