linux/drivers/net/dsa
Tristram Ha 96baf482ca net: dsa: microchip: Fix reserved multicast address table programming
KSZ9477/KSZ9897 and LAN937X families of switches use a reserved multicast
address table for some specific forwarding with some multicast addresses,
like the one used in STP.  The hardware assumes the host port is the last
port in KSZ9897 family and port 5 in LAN937X family.  Most of the time
this assumption is correct but not in other cases like KSZ9477.
Originally the function just setups the first entry, but the others still
need update, especially for one common multicast address that is used by
PTP operation.

LAN937x also uses different register bits when accessing the reserved
table.

Fixes: 457c182af5 ("net: dsa: microchip: generic access to ksz9477 static and reserved table")
Signed-off-by: Tristram Ha <tristram.ha@microchip.com>
Tested-by: Łukasz Majewski <lukma@nabladev.com>
Link: https://patch.msgid.link/20251105033741.6455-1-Tristram.Ha@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
History 2025-11-06 07:11:36 -08:00
..
b53 net: dsa: b53: properly bound ARL searches for < 4 ARL bin chips 2025-11-03 16:42:43 -08:00
hirschmann net: dsa: hellcreek: Constify struct devlink_region_ops and struct hellcreek_fdb_entry 2025-07-01 19:33:31 -07:00
lantiq Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-09-25 11:00:59 -07:00
microchip net: dsa: microchip: Fix reserved multicast address table programming 2025-11-06 07:11:36 -08:00
mv88e6xxx net: dsa: mv88e6xxx: move mv88e6xxx_hwtstamp_work() prototype 2025-09-17 18:21:12 -07:00
ocelot net: dsa: felix: support phy-mode = "10g-qxgmii" 2025-09-05 19:03:40 -07:00
qca net: Use dev_fwnode() 2025-06-12 18:46:37 -07:00
realtek net: dsa: realtek: remove unnecessary file, dentry, inode declarations 2025-08-14 17:39:44 -07:00
sja1105 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-15 11:28:30 -07:00
xrs700x net: dsa: use ethtool string helpers 2024-11-03 10:36:34 -08:00
bcm_sf2.c net: dsa: b53: implement setting ageing time 2025-05-12 18:51:09 -07:00
bcm_sf2.h net: dsa: use ethtool string helpers 2024-11-03 10:36:34 -08:00
bcm_sf2_cfp.c net: dsa: use ethtool string helpers 2024-11-03 10:36:34 -08:00
bcm_sf2_regs.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
dsa_loop.c net: dsa: dsa_loop: remove duplicated definition of NUM_FIXED_PHYS 2025-09-19 07:06:42 -07:00
Kconfig net: dsa: lantiq_gswip: move to dedicated folder 2025-09-02 17:45:42 -07:00
ks8995.c net: dsa: ks8995: Add basic switch set-up 2025-08-18 17:26:09 -07:00
lan9303-core.c net: dsa: lan9303: ensure chip reset and wait for READY status 2024-10-07 16:38:02 -07:00
lan9303.h net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lan9303_i2c.c net: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-26 07:28:08 -07:00
lan9303_mdio.c dsa: lan9303: consistent naming for PHY address parameter 2024-07-15 08:49:59 -07:00
Makefile net: dsa: dsa_loop: remove usage of mdio_board_info 2025-09-17 15:24:01 -07:00
mt7530-mdio.c net: dsa: mt7530: Constify struct regmap_config 2025-07-13 22:28:56 +01:00
mt7530-mmio.c net: dsa: mt7530: Constify struct regmap_config 2025-07-13 22:28:56 +01:00
mt7530.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
mt7530.h net: dsa: mt7530: Add AN7583 support 2025-05-27 17:07:52 -07:00
mv88e6060.c net: dsa: mv88e6060: add phylink_get_caps implementation 2023-08-14 18:57:17 -07:00
mv88e6060.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rzn1_a5psw.c net: dsa: rzn1_a5psw: use devm to enable clocks 2025-07-10 15:41:02 +02:00
rzn1_a5psw.h net: dsa: rzn1-a5psw: add vlan support 2023-08-11 11:58:36 +01:00
vitesse-vsc73xx-core.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
vitesse-vsc73xx-platform.c net: dsa: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
vitesse-vsc73xx-spi.c net: dsa: vitesse-vsc73xx: remove unnecessary set_drvdata() 2022-09-22 19:30:39 -07:00
vitesse-vsc73xx.h net: dsa: vsc73xx: implement FDB operations 2024-09-03 10:22:58 +02:00