aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.10/768-v5.15-net-dsa-mt7530-set-STP-state-on-filter-ID-1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/backport-5.10/768-v5.15-net-dsa-mt7530-set-STP-state-on-filter-ID-1.patch')
-rw-r--r--target/linux/generic/backport-5.10/768-v5.15-net-dsa-mt7530-set-STP-state-on-filter-ID-1.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.10/768-v5.15-net-dsa-mt7530-set-STP-state-on-filter-ID-1.patch b/target/linux/generic/backport-5.10/768-v5.15-net-dsa-mt7530-set-STP-state-on-filter-ID-1.patch
new file mode 100644
index 0000000000..2c1958bd43
--- /dev/null
+++ b/target/linux/generic/backport-5.10/768-v5.15-net-dsa-mt7530-set-STP-state-on-filter-ID-1.patch
@@ -0,0 +1,40 @@
+From c5ffcefcb40420528d04c63e7dfc88f2845c9831 Mon Sep 17 00:00:00 2001
+From: DENG Qingfang <dqfext@gmail.com>
+Date: Wed, 4 Aug 2021 00:04:03 +0800
+Subject: [PATCH] net: dsa: mt7530: set STP state on filter ID 1
+
+As filter ID 1 is the only one used for bridges, set STP state on it.
+
+Signed-off-by: DENG Qingfang <dqfext@gmail.com>
+Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/dsa/mt7530.c | 3 ++-
+ drivers/net/dsa/mt7530.h | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/dsa/mt7530.c
++++ b/drivers/net/dsa/mt7530.c
+@@ -1131,7 +1131,8 @@ mt7530_stp_state_set(struct dsa_switch *
+ break;
+ }
+
+- mt7530_rmw(priv, MT7530_SSP_P(port), FID_PST_MASK, stp_state);
++ mt7530_rmw(priv, MT7530_SSP_P(port), FID_PST_MASK(FID_BRIDGED),
++ FID_PST(FID_BRIDGED, stp_state));
+ }
+
+ static int
+--- a/drivers/net/dsa/mt7530.h
++++ b/drivers/net/dsa/mt7530.h
+@@ -183,8 +183,8 @@ enum mt7530_vlan_egress_attr {
+
+ /* Register for port STP state control */
+ #define MT7530_SSP_P(x) (0x2000 + ((x) * 0x100))
+-#define FID_PST(x) ((x) & 0x3)
+-#define FID_PST_MASK FID_PST(0x3)
++#define FID_PST(fid, state) (((state) & 0x3) << ((fid) * 2))
++#define FID_PST_MASK(fid) FID_PST(fid, 0x3)
+
+ enum mt7530_stp_state {
+ MT7530_STP_DISABLED = 0,