diff options
author | Vivien Didelot <vivien.didelot@savoirfairelinux.com> | 2016-05-09 20:22:47 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-05-09 21:26:10 +0300 |
commit | 54d77b5b6ac92c76ee7dd360d8b7b0dfabf9f5f0 (patch) | |
tree | 3e6d56499e92f3d36ab036b2c184c49452e886b7 /drivers/net/dsa/mv88e6xxx.h | |
parent | 936f234a9624dbce9f723cbb24f135c60f76c148 (diff) | |
download | linux-54d77b5b6ac92c76ee7dd360d8b7b0dfabf9f5f0.tar.xz |
net: dsa: mv88e6xxx: factorize VTU access
Add a MV88E6XXX_FLAG_VTU flag to indentify switch models with a VLAN
Table Unit.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx.h')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/drivers/net/dsa/mv88e6xxx.h b/drivers/net/dsa/mv88e6xxx.h index d15e0b3dffd3..4f21206ac4de 100644 --- a/drivers/net/dsa/mv88e6xxx.h +++ b/drivers/net/dsa/mv88e6xxx.h @@ -394,6 +394,11 @@ enum mv88e6xxx_cap { * the output (or egress) ports to which it is allowed to send frames. */ MV88E6XXX_CAP_VLANTABLE, + + /* VLAN Table Unit. + * The VTU is used to program 802.1Q VLANs. See GLOBAL_VTU_OP. + */ + MV88E6XXX_CAP_VTU, }; /* Bitmask of capabilities */ @@ -406,14 +411,17 @@ enum mv88e6xxx_cap { #define MV88E6XXX_FLAG_TEMP BIT(MV88E6XXX_CAP_TEMP) #define MV88E6XXX_FLAG_TEMP_LIMIT BIT(MV88E6XXX_CAP_TEMP_LIMIT) #define MV88E6XXX_FLAG_VLANTABLE BIT(MV88E6XXX_CAP_VLANTABLE) +#define MV88E6XXX_FLAG_VTU BIT(MV88E6XXX_CAP_VTU) #define MV88E6XXX_FLAGS_FAMILY_6095 \ (MV88E6XXX_FLAG_PPU | \ - MV88E6XXX_FLAG_VLANTABLE) + MV88E6XXX_FLAG_VLANTABLE | \ + MV88E6XXX_FLAG_VTU) #define MV88E6XXX_FLAGS_FAMILY_6097 \ (MV88E6XXX_FLAG_PPU | \ - MV88E6XXX_FLAG_VLANTABLE) + MV88E6XXX_FLAG_VLANTABLE | \ + MV88E6XXX_FLAG_VTU) #define MV88E6XXX_FLAGS_FAMILY_6165 \ (MV88E6XXX_FLAG_SWITCH_MAC | \ @@ -421,7 +429,8 @@ enum mv88e6xxx_cap { #define MV88E6XXX_FLAGS_FAMILY_6185 \ (MV88E6XXX_FLAG_PPU | \ - MV88E6XXX_FLAG_VLANTABLE) + MV88E6XXX_FLAG_VLANTABLE | \ + MV88E6XXX_FLAG_VTU) #define MV88E6XXX_FLAGS_FAMILY_6320 \ (MV88E6XXX_FLAG_EEE | \ @@ -431,14 +440,16 @@ enum mv88e6xxx_cap { MV88E6XXX_FLAG_SWITCH_MAC | \ MV88E6XXX_FLAG_TEMP | \ MV88E6XXX_FLAG_TEMP_LIMIT | \ - MV88E6XXX_FLAG_VLANTABLE) + MV88E6XXX_FLAG_VLANTABLE | \ + MV88E6XXX_FLAG_VTU) #define MV88E6XXX_FLAGS_FAMILY_6351 \ (MV88E6XXX_FLAG_PORTSTATE | \ MV88E6XXX_FLAG_SMI_PHY | \ MV88E6XXX_FLAG_SWITCH_MAC | \ MV88E6XXX_FLAG_TEMP | \ - MV88E6XXX_FLAG_VLANTABLE) + MV88E6XXX_FLAG_VLANTABLE | \ + MV88E6XXX_FLAG_VTU) #define MV88E6XXX_FLAGS_FAMILY_6352 \ (MV88E6XXX_FLAG_EEE | \ @@ -448,7 +459,8 @@ enum mv88e6xxx_cap { MV88E6XXX_FLAG_SWITCH_MAC | \ MV88E6XXX_FLAG_TEMP | \ MV88E6XXX_FLAG_TEMP_LIMIT | \ - MV88E6XXX_FLAG_VLANTABLE) + MV88E6XXX_FLAG_VLANTABLE | \ + MV88E6XXX_FLAG_VTU) struct mv88e6xxx_info { enum mv88e6xxx_family family; |