linux/drivers/net/dsa/microchip
Ben Hutchings ef3b02a1d7 net: dsa: microchip: ksz8795: Fix PVID tag insertion
ksz8795 has never actually enabled PVID tag insertion, and it also
programmed the PVID incorrectly.  To fix this:

* Allow tag insertion to be controlled per ingress port.  On most
  chips, set bit 2 in Global Control 19.  On KSZ88x3 this control
  flag doesn't exist.

* When adding a PVID:
  - Set the appropriate register bits to enable tag insertion on
    egress at every other port if this was the packet's ingress port.
  - Mask *out* the VID from the default tag, before or-ing in the new
    PVID.

* When removing a PVID:
  - Clear the same control bits to disable tag insertion.
  - Don't update the default tag.  This wasn't doing anything useful.

Fixes: e66f840c08 ("net: dsa: ksz: Add Microchip KSZ8795 DSA driver")
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-10 09:58:14 +01:00
..
Kconfig net: dsa: microchip: Add Microchip KSZ8863 SMI based driver support 2021-04-27 14:13:24 -07:00
ksz8.h net: dsa: microchip: ksz8795: move register offsets and shifts to separate struct 2021-04-27 14:13:23 -07:00
ksz8795_reg.h net: dsa: microchip: ksz8795: Fix PVID tag insertion 2021-08-10 09:58:14 +01:00
ksz8795_spi.c net: dsa: ksz: ksz8795_spi_probe: fix possible NULL pointer dereference 2021-04-29 15:54:35 -07:00
ksz8795.c net: dsa: microchip: ksz8795: Fix PVID tag insertion 2021-08-10 09:58:14 +01:00
ksz8863_smi.c net: dsa: ksz: ksz8863_smi_probe: set proper return value for ksz_switch_alloc() 2021-04-29 15:54:35 -07:00
ksz9477_i2c.c net: dsa: microchip: add ksz9563 to ksz9477 I2C driver 2020-10-09 13:05:56 -07:00
ksz9477_reg.h net: dsa: microchip: Use the correct style for SPDX License Identifier 2019-10-15 14:59:58 -07:00
ksz9477_spi.c net: dsa: microchip: ksz9477: setup SPI mode 2020-11-25 17:53:45 -08:00
ksz9477.c net: dsa: microchip: enable phy errata workaround on 9567 2021-05-24 14:27:18 -07:00
ksz_common.c dsa: fix for_each_child.cocci warnings 2021-07-11 10:01:55 -07:00
ksz_common.h net: dsa: microchip: Fix ksz_read64() 2021-08-10 09:58:14 +01:00
Makefile net: dsa: microchip: Add Microchip KSZ8863 SMI based driver support 2021-04-27 14:13:24 -07:00