aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2016-03-31 16:53:45 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-04 21:31:35 -0400
commitf93dd042de08633ff481d092245f2d9b4a3cdb6a (patch)
treed022422512d4c91790a4b233bcd3b15d6d8b8848 /drivers/net/dsa
parent11ea809f1a74b006f08e7dad0b257e06c817f313 (diff)
net: dsa: mv88e6xxx: map destination addresses for 6185
The 88E6185 switch also has a MapDA bit in its Port Control 2 register. When this bit is cleared, all frames are sent out to the CPU port. Set this bit to rely on address databases (ATU) hits and direct frames out of the correct ports, and thus allow hardware bridging. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa')
-rw-r--r--drivers/net/dsa/mv88e6xxx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c
index 75a4abc595b1..0dda2817d0ec 100644
--- a/drivers/net/dsa/mv88e6xxx.c
+++ b/drivers/net/dsa/mv88e6xxx.c
@@ -2523,7 +2523,8 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
2523 reg = 0; 2523 reg = 0;
2524 if (mv88e6xxx_6352_family(ds) || mv88e6xxx_6351_family(ds) || 2524 if (mv88e6xxx_6352_family(ds) || mv88e6xxx_6351_family(ds) ||
2525 mv88e6xxx_6165_family(ds) || mv88e6xxx_6097_family(ds) || 2525 mv88e6xxx_6165_family(ds) || mv88e6xxx_6097_family(ds) ||
2526 mv88e6xxx_6095_family(ds) || mv88e6xxx_6320_family(ds)) 2526 mv88e6xxx_6095_family(ds) || mv88e6xxx_6320_family(ds) ||
2527 mv88e6xxx_6185_family(ds))
2527 reg = PORT_CONTROL_2_MAP_DA; 2528 reg = PORT_CONTROL_2_MAP_DA;
2528 2529
2529 if (mv88e6xxx_6352_family(ds) || mv88e6xxx_6351_family(ds) || 2530 if (mv88e6xxx_6352_family(ds) || mv88e6xxx_6351_family(ds) ||