[net-next,5/5,v4] net: dsa: rtl8366: Use top VLANs for default

Message ID 20200706205245.937091-6-linus.walleij@linaro.org
State New
Headers show
  • RTL8366RB DSA tagging and fixes
Related show

Commit Message

Linus Walleij July 6, 2020, 8:52 p.m.
The RTL8366 DSA switches will not work unless we set
up a default VLAN for each port. We are currently using
e.g. VLAN 1..6 for a 5-port switch as default VLANs.

This is not very helpful for users, move it to allocate
the top VLANs for default instead, for example on
RTL8366RB there are 16 VLANs so instead of using
VLAN 1..6 as default use VLAN 10..15 so VLAN 1
thru VLAN 9 is available for users.

Cc: DENG Qingfang <dqfext@gmail.com>
Cc: Mauri Sandberg <sandberg@mailfence.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

ChangeLog v3->v4:
- Resend with the rest
ChangeLog v2->v3:
- Collect Andrew's reviewed-by.
ChangeLog v1->v2:
- Rebase on v5.8-rc1.
 drivers/net/dsa/rtl8366.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



diff --git a/drivers/net/dsa/rtl8366.c b/drivers/net/dsa/rtl8366.c
index a000d458d121..06adcf68ff8d 100644
--- a/drivers/net/dsa/rtl8366.c
+++ b/drivers/net/dsa/rtl8366.c
@@ -260,8 +260,8 @@  static int rtl8366_set_default_vlan_and_pvid(struct realtek_smi *smi,
 	u16 vid;
 	int ret;
-	/* This is the reserved default VLAN for this port */
-	vid = port + 1;
+	/* Use the top VLANs for per-port default VLAN */
+	vid = smi->num_vlan_mc - smi->num_ports + port;
 	if (port == smi->cpu_port)
 		/* For the CPU port, make all ports members of this