@ -189,7 +189,8 @@ static void b53_set_vlan_entry(struct b53_device *dev, u16 vid, u16 members,
u32 entry = 0 ;
u32 entry = 0 ;
if ( members ) {
if ( members ) {
entry = ( untag < < VA_UNTAG_S ) | members ;
entry = ( ( untag & VA_UNTAG_MASK_25 ) < < VA_UNTAG_S_25 ) |
members ;
if ( dev - > core_rev > = 3 )
if ( dev - > core_rev > = 3 )
entry | = VA_VALID_25_R4 | vid < < VA_VID_HIGH_S ;
entry | = VA_VALID_25_R4 | vid < < VA_VID_HIGH_S ;
else
else
@ -203,7 +204,8 @@ static void b53_set_vlan_entry(struct b53_device *dev, u16 vid, u16 members,
u16 entry = 0 ;
u16 entry = 0 ;
if ( members )
if ( members )
entry = ( untag < < VA_UNTAG_S ) | members | VA_VALID_65 ;
entry = ( ( untag & VA_UNTAG_MASK_65 ) < < VA_UNTAG_S_65 ) |
members | VA_VALID_65 ;
b53_write16 ( dev , B53_VLAN_PAGE , B53_VLAN_WRITE_65 , entry ) ;
b53_write16 ( dev , B53_VLAN_PAGE , B53_VLAN_WRITE_65 , entry ) ;
b53_write16 ( dev , B53_VLAN_PAGE , B53_VLAN_TABLE_ACCESS_65 , vid |
b53_write16 ( dev , B53_VLAN_PAGE , B53_VLAN_TABLE_ACCESS_65 , vid |