forked from Openwrt-EcoNet/openwrt
Update BCM5325 patches to the latest version sent to netdev. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
From 566c3b4e4ad6167c5a2fb4357e75eb5ba8d94f64 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
|
Date: Fri, 30 May 2025 23:00:55 +0200
|
|
Subject: [RFC PATCH net-next v2 04/10] net: dsa: b53: fix IP_MULTICAST_CTRL on
|
|
BCM5325
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
BCM5325 doesn't implement B53_UC_FWD_EN, B53_MC_FWD_EN or B53_IPMC_FWD_EN.
|
|
|
|
Fixes: 53568438e381 ("net: dsa: b53: Add support for port_egress_floods callback")
|
|
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|
---
|
|
drivers/net/dsa/b53/b53_common.c | 18 +++++++++++-------
|
|
drivers/net/dsa/b53/b53_regs.h | 1 +
|
|
2 files changed, 12 insertions(+), 7 deletions(-)
|
|
|
|
--- a/drivers/net/dsa/b53/b53_common.c
|
|
+++ b/drivers/net/dsa/b53/b53_common.c
|
|
@@ -366,14 +366,18 @@ static void b53_set_forwarding(struct b5
|
|
b53_read8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, &mgmt);
|
|
mgmt |= B53_MII_DUMB_FWDG_EN;
|
|
b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt);
|
|
- }
|
|
|
|
- /* Look at B53_UC_FWD_EN and B53_MC_FWD_EN to decide whether
|
|
- * frames should be flooded or not.
|
|
- */
|
|
- b53_read8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, &mgmt);
|
|
- mgmt |= B53_UC_FWD_EN | B53_MC_FWD_EN | B53_IPMC_FWD_EN;
|
|
- b53_write8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, mgmt);
|
|
+ /* Look at B53_UC_FWD_EN and B53_MC_FWD_EN to decide whether
|
|
+ * frames should be flooded or not.
|
|
+ */
|
|
+ b53_read8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, &mgmt);
|
|
+ mgmt |= B53_UC_FWD_EN | B53_MC_FWD_EN | B53_IPMC_FWD_EN;
|
|
+ b53_write8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, mgmt);
|
|
+ } else {
|
|
+ b53_read8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, &mgmt);
|
|
+ mgmt |= B53_IP_MCAST_25;
|
|
+ b53_write8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, mgmt);
|
|
+ }
|
|
}
|
|
|
|
static void b53_enable_vlan(struct b53_device *dev, int port, bool enable,
|
|
--- a/drivers/net/dsa/b53/b53_regs.h
|
|
+++ b/drivers/net/dsa/b53/b53_regs.h
|
|
@@ -106,6 +106,7 @@
|
|
|
|
/* IP Multicast control (8 bit) */
|
|
#define B53_IP_MULTICAST_CTRL 0x21
|
|
+#define B53_IP_MCAST_25 BIT(0)
|
|
#define B53_IPMC_FWD_EN BIT(1)
|
|
#define B53_UC_FWD_EN BIT(6)
|
|
#define B53_MC_FWD_EN BIT(7)
|