Date: Mon, 5 Feb 2018 07:03:45 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r328872 - head/sys/dev/etherswitch/arswitch Message-ID: <201802050703.w1573jxL051352@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Mon Feb 5 07:03:45 2018 New Revision: 328872 URL: https://svnweb.freebsd.org/changeset/base/328872 Log: [arswitch] fix mac address field definition. Whilst here, add some further fields for future experimenting. Tested: * AR9340 switch * AR9330 switch * AR7240 switch Modified: head/sys/dev/etherswitch/arswitch/arswitchreg.h Modified: head/sys/dev/etherswitch/arswitch/arswitchreg.h ============================================================================== --- head/sys/dev/etherswitch/arswitch/arswitchreg.h Mon Feb 5 05:51:37 2018 (r328871) +++ head/sys/dev/etherswitch/arswitch/arswitchreg.h Mon Feb 5 07:03:45 2018 (r328872) @@ -139,10 +139,10 @@ #define AR8216_ATU_PORT_NUM BITS(8, 4) #define AR8216_ATU_PORT_NUM_S 8 #define AR8216_ATU_FULL_VIO BIT(12) -#define AR8216_ATU_ADDR4 BITS(16, 8) -#define AR8216_ATU_ADDR4_S 16 -#define AR8216_ATU_ADDR5 BITS(24, 8) -#define AR8216_ATU_ADDR5_S 24 +#define AR8216_ATU_ADDR5 BITS(16, 8) +#define AR8216_ATU_ADDR5_S 16 +#define AR8216_ATU_ADDR4 BITS(24, 8) +#define AR8216_ATU_ADDR4_S 24 #define AR8216_REG_ATU_DATA 0x0054 #define AR8216_ATU_ADDR3 BITS(0, 8) @@ -157,13 +157,26 @@ #define AR8216_REG_ATU_CTRL2 0x0058 #define AR8216_ATU_CTRL2_DESPORT BITS(0, 5) #define AR8216_ATU_CTRL2_DESPORT_S 0 +#define AR934X_ATU_CROSS_STATE_PORT_EN BIT(8) +#define AR934X_ATU_HASH_HIGH_ADDR BIT(9) /* Used for CPU_FUNC (get_next_valid) */ #define AR8216_ATU_CTRL2_AT_PRIORITY BITS(10, 2) #define AR8216_ATU_CTRL2_AT_PRIORITY_EN BIT(12) #define AR8216_ATU_CTRL2_MIRROR_EN BIT(13) #define AR8216_ATU_CTRL2_SA_DROP_EN BIT(14) +#define AR934X_ATU_CTRL2_MAC_CLONE BIT(15) #define AR8216_ATU_CTRL2_AT_STATUS BITS(16, 4) #define AR8216_ATU_CTRL2_AT_STATUS_S 16 +/* + * For at least the AR9340 - + * 0: empty + * 1-7: dynamic, valid + * 15: static, won't be aged + */ #define AR8216_ATU_CTRL2_VLAN_LEAKY_EN BIT(24) +/* + * This defines whether this MAC will leak between VLANs; + * controlled by ARL_UNI_LEAKY_EN and ARL_MULTI_LEAKY_EN. + */ #define AR8216_ATU_CTRL2_REDIRECT2CPU BIT(25) #define AR8216_ATU_CTRL2_COPY2CPU BIT(26) @@ -351,6 +364,7 @@ #define AR934X_REG_OPER_MODE1_PHY4_MII_EN (1 << 28) #define AR934X_REG_FLOOD_MASK 0x2c +#define AR934X_FLOOD_MASK_MC_DP(_p) (1 << (0 + (_p))) #define AR934X_FLOOD_MASK_MC_DP(_p) (1 << (16 + (_p))) #define AR934X_FLOOD_MASK_BC_DP(_p) (1 << (25 + (_p)))
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802050703.w1573jxL051352>