Commit 0abab9f3 authored by Arun Ramadoss's avatar Arun Ramadoss Committed by David S. Miller
Browse files

net: dsa: microchip: move multicast enable to ksz_setup



This patch moves the enabling the multicast storm protection from
individual setup function to ksz_setup function.

Signed-off-by: default avatarArun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1ca6437f
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -1406,8 +1406,6 @@ static int ksz8_setup(struct dsa_switch *ds)
			   UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP,
			   UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP);

	ksz_cfg(dev, REG_SW_CTRL_2, MULTICAST_STORM_DISABLE, true);

	ksz_cfg(dev, S_REPLACE_VID_CTRL, SW_REPLACE_VID, false);

	ksz_cfg(dev, S_MIRROR_CTRL, SW_MIRROR_RX_TX, false);
+0 −1
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@
#define REG_SW_CTRL_2			0x04

#define UNICAST_VLAN_BOUNDARY		BIT(7)
#define MULTICAST_STORM_DISABLE		BIT(6)
#define SW_BACK_PRESSURE		BIT(5)
#define FAIR_FLOW_CTRL			BIT(4)
#define NO_EXC_COLLISION_DROP		BIT(3)
+0 −2
Original line number Diff line number Diff line
@@ -1281,8 +1281,6 @@ static int ksz9477_setup(struct dsa_switch *ds)
	if (ret)
		return ret;

	ksz_cfg(dev, REG_SW_MAC_CTRL_1, MULTICAST_STORM_DISABLE, true);

	/* queue based egress rate limit */
	ksz_cfg(dev, REG_SW_MAC_CTRL_5, SW_OUT_RATE_LIMIT_QUEUE_BASED, true);

+0 −1
Original line number Diff line number Diff line
@@ -265,7 +265,6 @@

#define REG_SW_MAC_CTRL_1		0x0331

#define MULTICAST_STORM_DISABLE		BIT(6)
#define SW_BACK_PRESSURE		BIT(5)
#define FAIR_FLOW_CTRL			BIT(4)
#define NO_EXC_COLLISION_DROP		BIT(3)
+16 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x02,
		.broadcast_ctrl_reg =  0x06,
		.multicast_ctrl_reg = 0x04,
		.supports_mii = {false, false, false, false, true},
		.supports_rmii = {false, false, false, false, true},
		.supports_rgmii = {false, false, false, false, true},
@@ -188,6 +189,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x02,
		.broadcast_ctrl_reg =  0x06,
		.multicast_ctrl_reg = 0x04,
		.supports_mii = {false, false, false, false, true},
		.supports_rmii = {false, false, false, false, true},
		.supports_rgmii = {false, false, false, false, true},
@@ -208,6 +210,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x02,
		.broadcast_ctrl_reg =  0x06,
		.multicast_ctrl_reg = 0x04,
		.supports_mii = {false, false, false, false, true},
		.supports_rmii = {false, false, false, false, true},
		.supports_rgmii = {false, false, false, false, true},
@@ -227,6 +230,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x02,
		.broadcast_ctrl_reg =  0x06,
		.multicast_ctrl_reg = 0x04,
		.supports_mii = {false, false, true},
		.supports_rmii = {false, false, true},
		.internal_phy = {true, true, false},
@@ -246,6 +250,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii	= {false, false, false, false,
				   false, true, false},
		.supports_rmii	= {false, false, false, false,
@@ -270,6 +275,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii	= {false, false, false, false,
				   false, true, true},
		.supports_rmii	= {false, false, false, false,
@@ -293,6 +299,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii = {false, false, true},
		.supports_rmii = {false, false, true},
		.supports_rgmii = {false, false, true},
@@ -313,6 +320,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii	= {false, false, false, false,
				   false, true, true},
		.supports_rmii	= {false, false, false, false,
@@ -336,6 +344,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii = {false, false, false, false, true},
		.supports_rmii = {false, false, false, false, true},
		.supports_rgmii = {false, false, false, false, true},
@@ -355,6 +364,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii = {false, false, false, false, true, true},
		.supports_rmii = {false, false, false, false, true, true},
		.supports_rgmii = {false, false, false, false, true, true},
@@ -374,6 +384,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii	= {false, false, false, false,
				   true, true, false, false},
		.supports_rmii	= {false, false, false, false,
@@ -397,6 +408,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii	= {false, false, false, false,
				   true, true, false, false},
		.supports_rmii	= {false, false, false, false,
@@ -420,6 +432,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
		.reg_mib_cnt = MIB_COUNTER_NUM,
		.stp_ctrl_reg = 0x0B04,
		.broadcast_ctrl_reg =  0x0332,
		.multicast_ctrl_reg = 0x0331,
		.supports_mii	= {false, false, false, false,
				   true, true, false, false},
		.supports_rmii	= {false, false, false, false,
@@ -646,6 +659,9 @@ int ksz_setup(struct dsa_switch *ds)

	dev->dev_ops->enable_stp_addr(dev);

	regmap_update_bits(dev->regmap[0], dev->info->multicast_ctrl_reg,
			   MULTICAST_STORM_DISABLE, MULTICAST_STORM_DISABLE);

	ksz_init_mib_timer(dev);

	ds->configure_vlan_while_not_filtering = false;
Loading