generic: rtl8366: enable VLAN ingress filtering
SVN-Revision: 22044
This commit is contained in:
		| @@ -70,6 +70,8 @@ | |||||||
| #define RTL8366RB_PHY_NO_OFFSET			9 | #define RTL8366RB_PHY_NO_OFFSET			9 | ||||||
| #define RTL8366RB_PHY_NO_MASK			(0x1f << 9) | #define RTL8366RB_PHY_NO_MASK			(0x1f << 9) | ||||||
|  |  | ||||||
|  | #define RTL8366RB_VLAN_INGRESS_CTRL2_REG	0x037f | ||||||
|  |  | ||||||
| /* LED control registers */ | /* LED control registers */ | ||||||
| #define RTL8366RB_LED_BLINKRATE_REG		0x0430 | #define RTL8366RB_LED_BLINKRATE_REG		0x0430 | ||||||
| #define RTL8366RB_LED_BLINKRATE_BIT		0 | #define RTL8366RB_LED_BLINKRATE_BIT		0 | ||||||
| @@ -288,6 +290,12 @@ static int rtl8366rb_hw_init(struct rtl8366_smi *smi) | |||||||
| 	/* disable auto ageing for all ports */ | 	/* disable auto ageing for all ports */ | ||||||
| 	REG_WR(smi, RTL8366RB_SSCR1, RTL8366RB_PORT_ALL); | 	REG_WR(smi, RTL8366RB_SSCR1, RTL8366RB_PORT_ALL); | ||||||
|  |  | ||||||
|  | 	/* | ||||||
|  | 	 * discard VLAN tagged packets if the port is not a member of | ||||||
|  | 	 * the VLAN with which the packets is associated. | ||||||
|  | 	 */ | ||||||
|  | 	REG_WR(smi, RTL8366RB_VLAN_INGRESS_CTRL2_REG, RTL8366RB_PORT_ALL); | ||||||
|  |  | ||||||
| 	/* don't drop packets whose DA has not been learned */ | 	/* don't drop packets whose DA has not been learned */ | ||||||
| 	REG_RMW(smi, RTL8366RB_SSCR2, RTL8366RB_SSCR2_DROP_UNKNOWN_DA, 0); | 	REG_RMW(smi, RTL8366RB_SSCR2, RTL8366RB_SSCR2_DROP_UNKNOWN_DA, 0); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -112,6 +112,7 @@ | |||||||
|  |  | ||||||
| #define RTL8366S_VLAN_MEMCONF_BASE		0x0016 | #define RTL8366S_VLAN_MEMCONF_BASE		0x0016 | ||||||
|  |  | ||||||
|  | #define RTL8366S_VLAN_MEMBERINGRESS_REG		0x0379 | ||||||
|  |  | ||||||
| #define RTL8366S_PORT_LINK_STATUS_BASE		0x0060 | #define RTL8366S_PORT_LINK_STATUS_BASE		0x0060 | ||||||
| #define RTL8366S_PORT_STATUS_SPEED_MASK		0x0003 | #define RTL8366S_PORT_STATUS_SPEED_MASK		0x0003 | ||||||
| @@ -299,6 +300,12 @@ static int rtl8366s_hw_init(struct rtl8366_smi *smi) | |||||||
| 	/* disable auto ageing for all ports */ | 	/* disable auto ageing for all ports */ | ||||||
| 	REG_WR(smi, RTL8366S_SSCR1, RTL8366S_PORT_ALL); | 	REG_WR(smi, RTL8366S_SSCR1, RTL8366S_PORT_ALL); | ||||||
|  |  | ||||||
|  | 	/* | ||||||
|  | 	 * discard VLAN tagged packets if the port is not a member of | ||||||
|  | 	 * the VLAN with which the packets is associated. | ||||||
|  | 	 */ | ||||||
|  | 	REG_WR(smi, RTL8366S_VLAN_MEMBERINGRESS_REG, RTL8366S_PORT_ALL); | ||||||
|  |  | ||||||
| 	/* don't drop packets whose DA has not been learned */ | 	/* don't drop packets whose DA has not been learned */ | ||||||
| 	REG_RMW(smi, RTL8366S_SSCR2, RTL8366S_SSCR2_DROP_UNKNOWN_DA, 0); | 	REG_RMW(smi, RTL8366S_SSCR2, RTL8366S_SSCR2_DROP_UNKNOWN_DA, 0); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Gabor Juhos
					Gabor Juhos