From nobody Sun Feb 8 04:13:26 2026 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0FB12F5A03 for ; Sat, 1 Nov 2025 13:28:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762003698; cv=none; b=D791bx9VDjPXbrLCZUEbotRKtVb9eMVs5InCH76LuAlvAA6AAs4/pWTdWcAYcIU4gq7HWw6ygSyF6b9Z+wF2WyrkatE6jHjT7iiOWq+HxvTlgyKLNK8AFJPFa8crrJOpo20gdlH3+A76ZrE0UVNrybztwSwEsDRlzOUaGkbnui4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762003698; c=relaxed/simple; bh=p/JaJlQiawxX+qh5jQdUefNsfFmb3Jnk5eyI2KNhtQE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EYrY14GLsWoYrVSzubcPWZrCT1Pc93rcgq4ieIK07HiZT+lo0AJlCc1bvMLU4NZypYwxrUzO8HJUw5fWZNkRQeVq9PyMPT/e8rsUgrVWj5BuebGHcHsh5edXXvY+8CHs0cBK2qYMjoK7TtVGJVtFEPDS/XaT6Q9d5jYayfrJSWA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QphTfCzi; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QphTfCzi" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-640aa1445c3so74208a12.1 for ; Sat, 01 Nov 2025 06:28:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762003695; x=1762608495; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HyUKEht0XIqrrj737jBfGR8saqpCsaWS6/0aBz7Ix5A=; b=QphTfCziKDbHio5XHJ1QIUEWQVLgknzt36XP84oKHudsQByD07qzLiXDgUcpM/yPVp x8/8OQ3XNVD9pVBOfYCVFbzchldcuyLa6Z8RTx3k0aGsurOChndjTYD9WlT68Z8RAnMc YDRYJeoplpMfk6W9F2oAbpRNL57nGJLdlW/xcrCanNcGlKW6qbg62WXR+v9L6EqQ+ZRA BCsSSdPuNqKD41Ob8cIyMmiSoHlG2wspBlWvGp26IHuir7nQLGSwDjELN7lZX5tB+JW+ 75LDHXreg4U8X020nEsG3TApYBYhEVuKiCvMgJnPSF9jydeM2/4tw1jWbaJ8ZwbkoaZ7 nx6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762003695; x=1762608495; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HyUKEht0XIqrrj737jBfGR8saqpCsaWS6/0aBz7Ix5A=; b=GGw/Cw8WRW0GdscHtK9+8MuQrD6UwqNjVu9+/ncMAjwvhk77DQPB42ebAmLlOuydRg bZHmJbi2G1yGl17ww/+G43B9FOm7lTJ8YG7mz6rzQyKdS8NeVtn9NgsJVMYzitPH/CE9 ZK3sjM92TOKXy5TaaMtpIZhs3CgEj/aEwsxNS5ErUJWLy44emSJ0cUHRdBzYlTdZqA/3 TmRvVLDGZDmBQRUrrqJerFP0/NHR9qQ7ZFejEWe3pYFqrmWbADwhmhFxQE9phMVATSlP QN8Zy5QMQO5/vusm7ZwVLd7Ytup0Q3uPUIXi0Ky2oBI+HykbltMnCKtmhCWsSaHzyLQB 426A== X-Forwarded-Encrypted: i=1; AJvYcCW4ajuhe3FsV2PUa8oo1ehSMJ8bBnwh3xKHUXCbdte37Dph8ubrKE7zjcNGnU7XvgRgcZFjfUKaAAbgJTc=@vger.kernel.org X-Gm-Message-State: AOJu0YzDvYLJG/kq7WAacGJ+nxzZ1UIpRwKSj/rgPVGUlh3k0hrJbTTh 1bITthZFbXmvwXw1gI2X9kcx7mlk9MbFFFt5XPe5PeM4wW5Wv8W2C1bj X-Gm-Gg: ASbGnctd+yxS4Uh7lvntCd7vRyPxZTZrT4p0Sy5n/MsOgeMkCV2/LDICqj01hPs1L61 rQAxImeDB0gS/K+UH+CLBMCsKp4eW+33bnTRNMkUL+eZ5AUmXQGDkg+UbboHUc/F0IudYSoRlOP /oy8w6y6JflZER9AnYE9cIaY8OHGTbTb8fLRMm5C66UC5yYziZwQafZnJpDF+G2IfEMWEsWMVPO 3pF2LYsWX9ylQBOFyo3DLvvL1YBjpdPDkNWOrrlVI7AdvJFDVhYTZolw9+TXfH8LisapAUq9GaC HloP/iOGj1byF3wOop/rWKyA2/vOs41Ne42wtImc9rE9OBhtLVaU+4zqLSoqV0F4lful5cnb6bJ 4Nfp1t6i7u5rnwCn49+Y4x0xe5RR0BhHpPYZ1z+s+f9aWVYwxGyYt/ZUPEWmjT9aWT2UdV+rA65 9uzP+4QSdqmJLEk0cihkQbzhqaY+pQ4rpi8Kl/pfxryT1dtnca54aPj8E0 X-Google-Smtp-Source: AGHT+IEEQTNiPubQPSJRq8duksf5867j4xSrXX+HY1Q9sgUvD7OFjRQ80gz9j/l/eCC8Aks6wfF77Q== X-Received: by 2002:a05:6402:350d:b0:63c:4537:75a3 with SMTP id 4fb4d7f45d1cf-64076f751admr6576636a12.16.1762003694895; Sat, 01 Nov 2025 06:28:14 -0700 (PDT) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6407b390d71sm4264125a12.12.2025.11.01.06.28.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Nov 2025 06:28:13 -0700 (PDT) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 1/2] net: dsa: b53: fix resetting speed and pause on forced link Date: Sat, 1 Nov 2025 14:28:06 +0100 Message-ID: <20251101132807.50419-2-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251101132807.50419-1-jonas.gorski@gmail.com> References: <20251101132807.50419-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is no guarantee that the port state override registers have their default values, as not all switches support being reset via register or have a reset GPIO. So when forcing port config, we need to make sure to clear all fields, which we currently do not do for the speed and flow control configuration. This can cause flow control stay enabled, or in the case of speed becoming an illegal value, e.g. configured for 1G (0x2), then setting 100M (0x1), results in 0x3 which is invalid. For PORT_OVERRIDE_SPEED_2000M we need to make sure to only clear it on supported chips, as the bit can have different meanings on other chips, e.g. for BCM5389 this controls scanning PHYs for link/speed configuration. Fixes: 5e004460f874 ("net: dsa: b53: Add helper to set link parameters") Signed-off-by: Jonas Gorski Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 2f846381d5a7..cb28256ef3cc 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1372,6 +1372,10 @@ static void b53_force_port_config(struct b53_device = *dev, int port, else reg &=3D ~PORT_OVERRIDE_FULL_DUPLEX; =20 + reg &=3D ~(0x3 << GMII_PO_SPEED_S); + if (is5301x(dev) || is58xx(dev)) + reg &=3D ~PORT_OVERRIDE_SPEED_2000M; + switch (speed) { case 2000: reg |=3D PORT_OVERRIDE_SPEED_2000M; @@ -1390,6 +1394,11 @@ static void b53_force_port_config(struct b53_device = *dev, int port, return; } =20 + if (is5325(dev)) + reg &=3D ~PORT_OVERRIDE_LP_FLOW_25; + else + reg &=3D ~(PORT_OVERRIDE_RX_FLOW | PORT_OVERRIDE_TX_FLOW); + if (rx_pause) { if (is5325(dev)) reg |=3D PORT_OVERRIDE_LP_FLOW_25; --=20 2.43.0 From nobody Sun Feb 8 04:13:26 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1BC612F693E for ; Sat, 1 Nov 2025 13:28:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762003699; cv=none; b=In+DdiQbH3geFZypExEZR9RZlYxlX+PLJADRk9sXLMmXdLLKSwmzS7XHyANHRbSPeKjIrHQkYNOhv5t1SdxKxOOv1hEdt2EYZxzTuGRSV+WWUPuQxo2VW0R5RlYY3r/kuiQseUJgz1lhjAYTdVRjh48980RYOZdYKadD15+GCdc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762003699; c=relaxed/simple; bh=GuA+isXe74pCMi5AagYqigBBFtYLC8iDrtT+Rj/v+/4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HTAa4PV4kJCQbqWM8UBYD9y09UjMgds8AaoUxq2xmToAgM9QQRm3bfi5dN9EoyPLm1GuxaGdoI3uHVExCKA6RuzH7qHs9ts1XCVSpW8J4iNyTokoRuBq4VSWSp90tBaDx9oLooSkt5T21v1uE6mgo4GPRlly5FlWNOXa0rN/nag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=U9eYnHcQ; arc=none smtp.client-ip=209.85.218.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="U9eYnHcQ" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-b4f323cf89bso721533866b.2 for ; Sat, 01 Nov 2025 06:28:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762003696; x=1762608496; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GsQWwaTBYaXaYYeBhg0oOm1XDOfz/d4zqdv0JWj9rWk=; b=U9eYnHcQOCoJN3AkeOc0eOPBcQzwGy2sr8czqaD/cqlS3II1+pDKQgvEyouhUFLDWm bvbBOEgR0fG71n4XTskzpYduGWtavL6dJ/9B7Q+wgBsUEWmFA5RmLYYPGi1FL/2gQCyk Wj9sWzXyFd+jblBopFapTYXwc/xMJLMtAKPAOHh9xxNF2AToAXxrwUanlzfqz0+oAfp1 eIcfKDazSVmTJ5nhp5o79RyhiRO+NaYFg0hqDZgrjQvh/hqMriR6yq+xI1MuKzq5lKB1 zlBT0S4um5Ot9FqWilzB8oM/r4ZqhgxqiHOS478WQUDAa+oXw7aAaLT+NUy+0SxuO0jK g4Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762003696; x=1762608496; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GsQWwaTBYaXaYYeBhg0oOm1XDOfz/d4zqdv0JWj9rWk=; b=KwtnE3YYuoBjrUhcRrcDPcDwCm6GwIOiWiJGHS/gs7INY0+ERZv/iIJW7Y+Tf5yx28 5+oZbuyrIg/btmz/5N+ORPWz/4jQBexmX9DZLMElsZdBi+GbD/gXfw0E0OsAJSy4F2pa X1HkXzOdr4LJ8Kx+TAGyqAaEA1Ar8sX+4kRaQz7PayRd+a8NKiY2g/i2xa0qJbsUfTqL AB1Ce2gh97T+Q4pa0b1pj9lws35ikTsPvHSEUWvEJBZ/o3f8ZYjI02MNfuVazAD9IW96 eXwRZb0GiDEnqcl4kvzBp733fFb3KivY9BArN48WQ3BAFdxGfCM+bdiCKBJ4k1ZgWBmw sZ8A== X-Forwarded-Encrypted: i=1; AJvYcCVITm6+IRqjGKMe96TZPuwEYUR2tyUvyqeQxeYr96KcmcusfvR4rTPy0AOa7H029SpSIl6oLBBBzYWLbz8=@vger.kernel.org X-Gm-Message-State: AOJu0YzzvvzARvjZxKt82C9FUcZ+dLcR7yZ7aHNZ2PqG0xXYR81NEVXl ALRl+CNTZgr6W294bBVEVpiTTPjJhBpKXjI+tVqYL/o9zHhR+A8NyZcr X-Gm-Gg: ASbGncsu5+NFMi18W7xTHPaVGpEp3poVg6npswiFM7WbQEcW4jZEqc9bLF5ouaMTwlc B4NAcUUvnDZErFrTc4lQ+oDtI7SRVNArlSDgm7m55qMSW/xFLpvCFhl162JFLW2f0u4QiPU/T2O n19Lm+McoigF4NGkGH4mTgQh3TqRR3pZ+RDxrhG6MIjrKrHwW9uA1e7mOdtS1+NAmSvMGancCxH qMLtGsqu3uthzqR5DIjoLqZREzj37FvVSuSs4j2r+im2uKYrnxi7+aOpdAyhu+soiSg8bXMDKYe Tjbjrlm8gvHDQp1LKJLS3LbzScOz1j5858DA8PIAAm/BMWRdWM44SDNbsmskoOFhigLV2A6GXw0 +MNNMiaR+ZrK0lkW52GQnGfNTfh3oDeR6jgFbC3d3NPy7j4A0IZfm1uHj5/JET/Ll1ZrPyE8kU4 wEq4BX+KOL5Gq0NP5hF0wBcocuq0MDqE0nNA16x16S4zUaNRcUV6Lmh2BvY/hi0P4R55U= X-Google-Smtp-Source: AGHT+IGZSQM2I289mbdiKbtsD737lwC5ysxlXKrslabDruRymOPxxKq14HayHZfu2hGtyjjE+PL15g== X-Received: by 2002:a17:907:72c8:b0:b3f:9b9c:d499 with SMTP id a640c23a62f3a-b7070735de0mr699584566b.51.1762003695965; Sat, 01 Nov 2025 06:28:15 -0700 (PDT) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b7077cfa966sm453741766b.65.2025.11.01.06.28.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Nov 2025 06:28:15 -0700 (PDT) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 2/2] net: dsa: b53: fix bcm63xx RGMII port link adjustment Date: Sat, 1 Nov 2025 14:28:07 +0100 Message-ID: <20251101132807.50419-3-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251101132807.50419-1-jonas.gorski@gmail.com> References: <20251101132807.50419-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BCM63XX's switch does not support MDIO scanning of external phys, so its MACs needs to be manually configured for autonegotiated link speeds. So b53_force_port_config() and b53_force_link() accordingly also when mode is MLO_AN_PHY for those ports. Fixes lower speeds than 1000/full on rgmii ports 4 - 7. This aligns the behaviour with the old bcm63xx_enetsw driver for those ports. Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch") Signed-off-by: Jonas Gorski Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index cb28256ef3cc..bb2c6dfa7835 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1602,8 +1602,11 @@ static void b53_phylink_mac_link_down(struct phylink= _config *config, struct b53_device *dev =3D dp->ds->priv; int port =3D dp->index; =20 - if (mode =3D=3D MLO_AN_PHY) + if (mode =3D=3D MLO_AN_PHY) { + if (is63xx(dev) && in_range(port, B53_63XX_RGMII0, 4)) + b53_force_link(dev, port, false); return; + } =20 if (mode =3D=3D MLO_AN_FIXED) { b53_force_link(dev, port, false); @@ -1631,6 +1634,13 @@ static void b53_phylink_mac_link_up(struct phylink_c= onfig *config, if (mode =3D=3D MLO_AN_PHY) { /* Re-negotiate EEE if it was enabled already */ p->eee_enabled =3D b53_eee_init(ds, port, phydev); + + if (is63xx(dev) && in_range(port, B53_63XX_RGMII0, 4)) { + b53_force_port_config(dev, port, speed, duplex, + tx_pause, rx_pause); + b53_force_link(dev, port, true); + } + return; } =20 --=20 2.43.0