From nobody Mon Apr 13 06:40:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16A36C6FD1F for ; Wed, 22 Mar 2023 14:31:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231539AbjCVObu (ORCPT ); Wed, 22 Mar 2023 10:31:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48528 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231146AbjCVObq (ORCPT ); Wed, 22 Mar 2023 10:31:46 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9DB5F62B4C for ; Wed, 22 Mar 2023 07:31:44 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pezV1-0003Oo-Ay; Wed, 22 Mar 2023 15:31:35 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pezUx-005wW3-ST; Wed, 22 Mar 2023 15:31:31 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pezUx-0060Zc-2B; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: [PATCH net v1 1/6] net: dsa: microchip: ksz8: fix ksz8_fdb_dump() Date: Wed, 22 Mar 2023 15:31:25 +0100 Message-Id: <20230322143130.1432106-2-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230322143130.1432106-1-o.rempel@pengutronix.de> References: <20230322143130.1432106-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Before this patch, the ksz8_fdb_dump() function had several issues, such as uninitialized variables and incorrect usage of source port as a bit mask. These problems caused inaccurate reporting of vid information and port assignment in the bridge fdb. Fixes: e587be759e6e ("net: dsa: microchip: update fdb add/del/dump in ksz_c= ommon") Signed-off-by: Oleksij Rempel Acked-by: Arun Ramadoss --- drivers/net/dsa/microchip/ksz8795.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/net/dsa/microchip/ksz8795.c b/drivers/net/dsa/microchi= p/ksz8795.c index 003b0ac2854c..3fffd5da8d3b 100644 --- a/drivers/net/dsa/microchip/ksz8795.c +++ b/drivers/net/dsa/microchip/ksz8795.c @@ -958,15 +958,14 @@ int ksz8_fdb_dump(struct ksz_device *dev, int port, u16 entries =3D 0; u8 timestamp =3D 0; u8 fid; - u8 member; - struct alu_struct alu; + u8 src_port; + u8 mac[ETH_ALEN]; =20 do { - alu.is_static =3D false; - ret =3D ksz8_r_dyn_mac_table(dev, i, alu.mac, &fid, &member, + ret =3D ksz8_r_dyn_mac_table(dev, i, mac, &fid, &src_port, ×tamp, &entries); - if (!ret && (member & BIT(port))) { - ret =3D cb(alu.mac, alu.fid, alu.is_static, data); + if (!ret && port =3D=3D src_port) { + ret =3D cb(mac, fid, false, data); if (ret) break; } --=20 2.30.2 From nobody Mon Apr 13 06:40:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1F06C761A6 for ; Wed, 22 Mar 2023 14:31:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231546AbjCVObx (ORCPT ); Wed, 22 Mar 2023 10:31:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48538 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231239AbjCVObq (ORCPT ); Wed, 22 Mar 2023 10:31:46 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CD5B62B5B for ; Wed, 22 Mar 2023 07:31:45 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pezV1-0003Os-Aq; Wed, 22 Mar 2023 15:31:35 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pezUy-005wWF-Ix; Wed, 22 Mar 2023 15:31:32 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pezUx-0060Zl-2v; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: [PATCH net v1 2/6] net: dsa: microchip: ksz8: fix ksz8_fdb_dump() to extract all 1024 entries Date: Wed, 22 Mar 2023 15:31:26 +0100 Message-Id: <20230322143130.1432106-3-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230322143130.1432106-1-o.rempel@pengutronix.de> References: <20230322143130.1432106-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Current ksz8_fdb_dump() is able to extract only max 249 entries on the ksz8863/ksz8873 series of switches. This happened due to wrong bit mask and offset calculation. This commit corrects the issue and allows for the complete extraction of all 1024 entries. Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common") Signed-off-by: Oleksij Rempel Acked-by: Arun Ramadoss --- drivers/net/dsa/microchip/ksz_common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/micro= chip/ksz_common.c index 7fc2155d93d6..3a1afc9f4621 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -407,10 +407,10 @@ static const u32 ksz8863_masks[] =3D { [STATIC_MAC_TABLE_FID] =3D GENMASK(29, 26), [STATIC_MAC_TABLE_OVERRIDE] =3D BIT(20), [STATIC_MAC_TABLE_FWD_PORTS] =3D GENMASK(18, 16), - [DYNAMIC_MAC_TABLE_ENTRIES_H] =3D GENMASK(5, 0), + [DYNAMIC_MAC_TABLE_ENTRIES_H] =3D GENMASK(1, 0), [DYNAMIC_MAC_TABLE_MAC_EMPTY] =3D BIT(7), [DYNAMIC_MAC_TABLE_NOT_READY] =3D BIT(7), - [DYNAMIC_MAC_TABLE_ENTRIES] =3D GENMASK(31, 28), + [DYNAMIC_MAC_TABLE_ENTRIES] =3D GENMASK(31, 24), [DYNAMIC_MAC_TABLE_FID] =3D GENMASK(19, 16), [DYNAMIC_MAC_TABLE_SRC_PORT] =3D GENMASK(21, 20), [DYNAMIC_MAC_TABLE_TIMESTAMP] =3D GENMASK(23, 22), @@ -420,7 +420,7 @@ static u8 ksz8863_shifts[] =3D { [VLAN_TABLE_MEMBERSHIP_S] =3D 16, [STATIC_MAC_FWD_PORTS] =3D 16, [STATIC_MAC_FID] =3D 22, - [DYNAMIC_MAC_ENTRIES_H] =3D 3, + [DYNAMIC_MAC_ENTRIES_H] =3D 8, [DYNAMIC_MAC_ENTRIES] =3D 24, [DYNAMIC_MAC_FID] =3D 16, [DYNAMIC_MAC_TIMESTAMP] =3D 24, --=20 2.30.2 From nobody Mon Apr 13 06:40:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B800C6FD1C for ; Wed, 22 Mar 2023 14:32:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231582AbjCVOcH (ORCPT ); Wed, 22 Mar 2023 10:32:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231509AbjCVObr (ORCPT ); Wed, 22 Mar 2023 10:31:47 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1203262B5B for ; Wed, 22 Mar 2023 07:31:47 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pezV1-0003PF-As; Wed, 22 Mar 2023 15:31:35 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pezUy-005wWO-VX; Wed, 22 Mar 2023 15:31:32 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pezUx-0060Zu-3W; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: [PATCH net v1 3/6] net: dsa: microchip: ksz8: fix offset for the timestamp filed Date: Wed, 22 Mar 2023 15:31:27 +0100 Message-Id: <20230322143130.1432106-4-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230322143130.1432106-1-o.rempel@pengutronix.de> References: <20230322143130.1432106-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We are using wrong offset, so we will get not a timestamp. Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common") Signed-off-by: Oleksij Rempel Acked-by: Arun Ramadoss --- drivers/net/dsa/microchip/ksz_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/micro= chip/ksz_common.c index 3a1afc9f4621..c914449645ca 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -423,7 +423,7 @@ static u8 ksz8863_shifts[] =3D { [DYNAMIC_MAC_ENTRIES_H] =3D 8, [DYNAMIC_MAC_ENTRIES] =3D 24, [DYNAMIC_MAC_FID] =3D 16, - [DYNAMIC_MAC_TIMESTAMP] =3D 24, + [DYNAMIC_MAC_TIMESTAMP] =3D 22, [DYNAMIC_MAC_SRC_PORT] =3D 20, }; =20 --=20 2.30.2 From nobody Mon Apr 13 06:40:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C51BEC6FD1C for ; Wed, 22 Mar 2023 14:32:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229827AbjCVOcA (ORCPT ); Wed, 22 Mar 2023 10:32:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231472AbjCVObq (ORCPT ); Wed, 22 Mar 2023 10:31:46 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9158562B73 for ; Wed, 22 Mar 2023 07:31:45 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pezV1-0003Op-Ar; Wed, 22 Mar 2023 15:31:35 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pezUy-005wW6-7e; Wed, 22 Mar 2023 15:31:32 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pezUx-0060a3-45; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: [PATCH net v1 4/6] net: dsa: microchip: ksz8: ksz8_fdb_dump: avoid extracting ghost entry from empty dynamic MAC table. Date: Wed, 22 Mar 2023 15:31:28 +0100 Message-Id: <20230322143130.1432106-5-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230322143130.1432106-1-o.rempel@pengutronix.de> References: <20230322143130.1432106-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" If the dynamic MAC table is empty, we will still extract one outdated entry. Fix it by using correct bit offset. Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common") Signed-off-by: Oleksij Rempel Acked-by: Arun Ramadoss --- drivers/net/dsa/microchip/ksz_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/micro= chip/ksz_common.c index c914449645ca..4929fb29ed06 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -408,7 +408,7 @@ static const u32 ksz8863_masks[] =3D { [STATIC_MAC_TABLE_OVERRIDE] =3D BIT(20), [STATIC_MAC_TABLE_FWD_PORTS] =3D GENMASK(18, 16), [DYNAMIC_MAC_TABLE_ENTRIES_H] =3D GENMASK(1, 0), - [DYNAMIC_MAC_TABLE_MAC_EMPTY] =3D BIT(7), + [DYNAMIC_MAC_TABLE_MAC_EMPTY] =3D BIT(2), [DYNAMIC_MAC_TABLE_NOT_READY] =3D BIT(7), [DYNAMIC_MAC_TABLE_ENTRIES] =3D GENMASK(31, 24), [DYNAMIC_MAC_TABLE_FID] =3D GENMASK(19, 16), --=20 2.30.2 From nobody Mon Apr 13 06:40:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68CEBC761A6 for ; Wed, 22 Mar 2023 14:31:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230463AbjCVOb4 (ORCPT ); Wed, 22 Mar 2023 10:31:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231389AbjCVObq (ORCPT ); Wed, 22 Mar 2023 10:31:46 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E211162B54 for ; Wed, 22 Mar 2023 07:31:44 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pezV1-0003Ou-At; Wed, 22 Mar 2023 15:31:35 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pezUy-005wWL-Oy; Wed, 22 Mar 2023 15:31:32 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pezUx-0060aC-4f; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: [PATCH net v1 5/6] net: dsa: microchip: ksz8863_smi: fix bulk access Date: Wed, 22 Mar 2023 15:31:29 +0100 Message-Id: <20230322143130.1432106-6-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230322143130.1432106-1-o.rempel@pengutronix.de> References: <20230322143130.1432106-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Current regmap bulk access is broken, resulting to wrong reads/writes if ksz_read64/ksz_write64 functions are used. Mostly this issue was visible by using ksz8_fdb_dump(), which returned corrupt MAC address. The reason is that regmap was configured to have max_raw_read/write, even if ksz8863_mdio_read/write functions are able to handle unlimited read/write accesses. On ksz_read64 function we are using multiple 32bit accesses by incrementing each access by 1 instead of 4. Resulting buffer had 01234567.12345678 instead of 01234567.89abcdef. We have multiple ways to fix it: - enable 4 byte alignment for 32bit accesses. Since the HW do not have this requirement. It will break driver. - disable max_raw_* limit. This patch is removing max_raw_* limit for regmap accesses in ksz8863_smi. Fixes: 60a364760002 ("net: dsa: microchip: Add Microchip KSZ8863 SMI based = driver support") Signed-off-by: Oleksij Rempel --- drivers/net/dsa/microchip/ksz8863_smi.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/net/dsa/microchip/ksz8863_smi.c b/drivers/net/dsa/micr= ochip/ksz8863_smi.c index 2f4623f3bd85..2516c9db7fec 100644 --- a/drivers/net/dsa/microchip/ksz8863_smi.c +++ b/drivers/net/dsa/microchip/ksz8863_smi.c @@ -70,6 +70,7 @@ static int ksz8863_mdio_write(void *ctx, const void *data= , size_t count) tmp, val[i]); if (ret < 0) goto out; + } =20 out: @@ -82,22 +83,16 @@ static const struct regmap_bus regmap_smi[] =3D { { .read =3D ksz8863_mdio_read, .write =3D ksz8863_mdio_write, - .max_raw_read =3D 1, - .max_raw_write =3D 1, }, { .read =3D ksz8863_mdio_read, .write =3D ksz8863_mdio_write, .val_format_endian_default =3D REGMAP_ENDIAN_BIG, - .max_raw_read =3D 2, - .max_raw_write =3D 2, }, { .read =3D ksz8863_mdio_read, .write =3D ksz8863_mdio_write, .val_format_endian_default =3D REGMAP_ENDIAN_BIG, - .max_raw_read =3D 4, - .max_raw_write =3D 4, } }; =20 @@ -108,7 +103,6 @@ static const struct regmap_config ksz8863_regmap_config= [] =3D { .pad_bits =3D 24, .val_bits =3D 8, .cache_type =3D REGCACHE_NONE, - .use_single_read =3D 1, .lock =3D ksz_regmap_lock, .unlock =3D ksz_regmap_unlock, }, @@ -118,7 +112,6 @@ static const struct regmap_config ksz8863_regmap_config= [] =3D { .pad_bits =3D 24, .val_bits =3D 16, .cache_type =3D REGCACHE_NONE, - .use_single_read =3D 1, .lock =3D ksz_regmap_lock, .unlock =3D ksz_regmap_unlock, }, @@ -128,7 +121,6 @@ static const struct regmap_config ksz8863_regmap_config= [] =3D { .pad_bits =3D 24, .val_bits =3D 32, .cache_type =3D REGCACHE_NONE, - .use_single_read =3D 1, .lock =3D ksz_regmap_lock, .unlock =3D ksz_regmap_unlock, } --=20 2.30.2 From nobody Mon Apr 13 06:40:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A81FC6FD1F for ; Wed, 22 Mar 2023 14:31:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231515AbjCVObs (ORCPT ); Wed, 22 Mar 2023 10:31:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48512 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230508AbjCVObp (ORCPT ); Wed, 22 Mar 2023 10:31:45 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 81A3E62B49 for ; Wed, 22 Mar 2023 07:31:44 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pezV1-0003Ot-Aw; Wed, 22 Mar 2023 15:31:35 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pezUy-005wWG-K2; Wed, 22 Mar 2023 15:31:32 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pezUx-0060aL-5F; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: [PATCH net v1 6/6] net: dsa: microchip: ksz8: fix MDF configuration with non-zero VID Date: Wed, 22 Mar 2023 15:31:30 +0100 Message-Id: <20230322143130.1432106-7-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230322143130.1432106-1-o.rempel@pengutronix.de> References: <20230322143130.1432106-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" FID is directly mapped to VID. However, configuring a MAC address with a VID !=3D 0 resulted in incorrect configuration due to an incorrect bit mask. This kernel commit fixed the issue by correcting the bit mask and ensuring proper configuration of MAC addresses with non-zero VID. Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common") Signed-off-by: Oleksij Rempel Acked-by: Arun Ramadoss --- drivers/net/dsa/microchip/ksz_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/micro= chip/ksz_common.c index 4929fb29ed06..74c56d05ab0b 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -404,7 +404,7 @@ static const u32 ksz8863_masks[] =3D { [VLAN_TABLE_VALID] =3D BIT(19), [STATIC_MAC_TABLE_VALID] =3D BIT(19), [STATIC_MAC_TABLE_USE_FID] =3D BIT(21), - [STATIC_MAC_TABLE_FID] =3D GENMASK(29, 26), + [STATIC_MAC_TABLE_FID] =3D GENMASK(25, 22), [STATIC_MAC_TABLE_OVERRIDE] =3D BIT(20), [STATIC_MAC_TABLE_FWD_PORTS] =3D GENMASK(18, 16), [DYNAMIC_MAC_TABLE_ENTRIES_H] =3D GENMASK(1, 0), --=20 2.30.2