|
|
@@ -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 */
|