Commit cb178ccb authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'mt7530-fixes'



Merge branch 'mr7530-fixes'

Arınç ÜNAL says:

====================
Fix port mirroring on MT7530 DSA subdriver

This patch series fixes the frames received on the local port (monitor
port) not being mirrored, and port mirroring for the MT7988 SoC switch.
====================

Signed-off-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
parents f8bbc07a 2c606d13
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -1883,13 +1883,15 @@ mt7530_port_vlan_del(struct dsa_switch *ds, int port,

static int mt753x_mirror_port_get(unsigned int id, u32 val)
{
	return (id == ID_MT7531) ? MT7531_MIRROR_PORT_GET(val) :
	return (id == ID_MT7531 || id == ID_MT7988) ?
		       MT7531_MIRROR_PORT_GET(val) :
		       MIRROR_PORT(val);
}

static int mt753x_mirror_port_set(unsigned int id, u32 val)
{
	return (id == ID_MT7531) ? MT7531_MIRROR_PORT_SET(val) :
	return (id == ID_MT7531 || id == ID_MT7988) ?
		       MT7531_MIRROR_PORT_SET(val) :
		       MIRROR_PORT(val);
}

@@ -2480,6 +2482,9 @@ mt7530_setup(struct dsa_switch *ds)
			   PVC_EG_TAG(MT7530_VLAN_EG_CONSISTENT));
	}

	/* Allow mirroring frames received on the local port (monitor port). */
	mt7530_set(priv, MT753X_AGC, LOCAL_EN);

	/* Setup VLAN ID 0 for VLAN-unaware bridges */
	ret = mt7530_setup_vlan0(priv);
	if (ret)
@@ -2591,6 +2596,9 @@ mt7531_setup_common(struct dsa_switch *ds)
			   PVC_EG_TAG(MT7530_VLAN_EG_CONSISTENT));
	}

	/* Allow mirroring frames received on the local port (monitor port). */
	mt7530_set(priv, MT753X_AGC, LOCAL_EN);

	/* Flush the FDB table */
	ret = mt7530_fdb_cmd(priv, MT7530_FDB_FLUSH, NULL);
	if (ret < 0)
+4 −0
Original line number Diff line number Diff line
@@ -32,6 +32,10 @@ enum mt753x_id {
#define SYSC_REG_RSTCTRL		0x34
#define  RESET_MCM			BIT(2)

/* Register for ARL global control */
#define MT753X_AGC			0xc
#define  LOCAL_EN			BIT(7)

/* Registers to mac forward control for unknown frames */
#define MT7530_MFC			0x10
#define  BC_FFP(x)			(((x) & 0xff) << 24)