Re: [PATCH net v2 2/2] net: dsa: b53: restore the NSP IMP port 2 Gbps mode

From: Jonas Gorski

Date: Mon Oct 26 2026 - 14:31:36 EST


Hi,

On Thu, Oct 22, 2026 at 11:11 PM Florian Fainelli
<florian.fainelli@xxxxxxxxxxxx> wrote:
>
> The Northstar Plus IMP port uses the switch's proprietary 2 Gbps mode for
> its internal link to the AMAC. Its fixed-link description reports 1 Gbps,
> so applying that speed clears PORT_OVERRIDE_SPEED_2000M and leaves the two
> ends of the internal link configured at different speeds.

Sounds like the devicetrees are wrong. Shouldn't that fixed-link
description be updated to be 2 Gbps then? ;p

> Force the 2 Gbps mode and flow control for BCM5301x and NSP CPU ports. The
> mismatch caused switch output queue discards on both copper and SerDes
> ports, with one discard for every TCP retransmission. With both ends
> restored to their high-speed modes, iperf3 reports no retransmissions.
>
> Fixes: b6a8a5477fe9 ("net: dsa: b53: fix resetting speed and pause on forced link")
> Signed-off-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
> ---
> drivers/net/dsa/b53/b53_common.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
> index 0880310c9ce3..1f4964c28fc5 100644
> --- a/drivers/net/dsa/b53/b53_common.c
> +++ b/drivers/net/dsa/b53/b53_common.c
> @@ -1663,9 +1663,13 @@ static void b53_phylink_mac_link_up(struct phylink_config *config,
> }
>
> if (mode == MLO_AN_FIXED) {
> - /* Force flow control on BCM5301x's CPU port */
> - if (is5301x(dev) && dsa_is_cpu_port(ds, port))
> - tx_pause = rx_pause = true;
> + /* Force flow control on BCM5301x and NSP CPU ports */

The comment is now outdated, and is missing the forced 2G mode.

> + if ((is5301x(dev) || dev->chip_id == BCM58XX_DEVICE_ID) &&
> + dsa_is_cpu_port(ds, port)) {
> + tx_pause = true;
> + rx_pause = true;
> + speed = 2000;
> + }
>
> b53_force_port_config(dev, port, speed, duplex,
> tx_pause, rx_pause);
> --
> 2.34.1
>

Best regards,
Jonas