From: "Rafał Miłecki" <zajec5@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>,
"David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: "Florian Fainelli" <florian.fainelli@broadcom.com>,
"Jonas Gorski" <jonas.gorski@gmail.com>,
"Vladimir Oltean" <olteanv@gmail.com>,
netdev@vger.kernel.org, "Hauke Mehrtens" <hauke@hauke-m.de>,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
bcm-kernel-feedback-list@broadcom.com,
"Rafał Miłecki" <rafal@milecki.pl>
Subject: [PATCH V3 2/4 net-next?] net: dsa: b53: prefer CPU port 8 for Northstar devices
Date: Wed, 12 Aug 2026 15:27:53 +0200 [thread overview]
Message-ID: <20260812132755.32585-2-zajec5@gmail.com> (raw)
In-Reply-To: <20260812132755.32585-1-zajec5@gmail.com>
From: Rafał Miłecki <rafal@milecki.pl>
It allows using all switch features in opposite to ports 5 and 7.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
I think this can be net-next but I was asked to send a complete patchset
Can you pick those 2 patches to different trees?
drivers/net/dsa/b53/b53_common.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
index 5fd8362d0430..052812d2faa9 100644
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
@@ -766,6 +766,32 @@ void b53_disable_port(struct dsa_switch *ds, int port)
}
EXPORT_SYMBOL(b53_disable_port);
+static struct dsa_port *b53_preferred_default_local_cpu_port(struct dsa_switch *ds)
+{
+ struct b53_device *dev = ds->priv;
+ struct dsa_port *cpu_dp;
+
+ /*
+ * Northstar SoCs devices have 3 Ethernet controllers and 3 CPU ports:
+ * 5 (IMP1), 7, 8 (IMP0). This design was meant for dual IMP setups when
+ * WAN traffic goes to port 5 and LAN traffic goes to port 8.
+ *
+ * While all 3 ports support Broadcom header, ports 5 and 7 have their
+ * limitations. Features that relay on trapping to CPU (e.g. EAP, STP)
+ * won't work when using those as CPU ones.
+ *
+ * Prefer CPU port 8 if available.
+ */
+ if (is5301x(dev)) {
+ cpu_dp = dsa_to_port(ds, B53_CPU_PORT);
+
+ if (dsa_port_is_cpu(cpu_dp))
+ return cpu_dp;
+ }
+
+ return NULL;
+}
+
void b53_brcm_hdr_setup(struct dsa_switch *ds, int port)
{
struct b53_device *dev = ds->priv;
@@ -2724,6 +2750,7 @@ static const struct dsa_switch_ops b53_switch_ops = {
.port_setup = b53_setup_port,
.port_enable = b53_enable_port,
.port_disable = b53_disable_port,
+ .preferred_default_local_cpu_port = b53_preferred_default_local_cpu_port,
.support_eee = b53_support_eee,
.set_mac_eee = b53_set_mac_eee,
.set_ageing_time = b53_set_ageing_time,
--
2.51.0
next prev parent reply other threads:[~2026-08-12 13:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-12 13:27 [PATCH V3 1/4 net] net: dsa: b53: deal with Northstar devices using CPU port 5 or 7 Rafał Miłecki
2026-08-12 13:27 ` Rafał Miłecki [this message]
2026-08-13 13:40 ` [PATCH V3 2/4 net-next?] net: dsa: b53: prefer CPU port 8 for Northstar devices sashiko-bot
2026-08-12 13:27 ` [PATCH V3 3/4] ARM: dts: BCM5301X: drop pointless "cpu" labels from switch CPU ports Rafał Miłecki
2026-08-12 13:27 ` [PATCH V3 4/4] ARM: dts: BCM5301X: Enable extra CPU ports for Netgear R8000 Rafał Miłecki
2026-08-13 10:53 ` [PATCH V3 1/4 net] net: dsa: b53: deal with Northstar devices using CPU port 5 or 7 Semih Baskan
2026-08-13 19:08 ` Vladimir Oltean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260812132755.32585-2-zajec5@gmail.com \
--to=zajec5@gmail.com \
--cc=andrew@lunn.ch \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=florian.fainelli@broadcom.com \
--cc=hauke@hauke-m.de \
--cc=jonas.gorski@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=rafal@milecki.pl \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.