[net,v1,2/6] net: dsa: microchip: ksz8: fix ksz8_fdb_dump() to extract all 1024 entries
Message ID | 20230322143130.1432106-3-o.rempel@pengutronix.de |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2376212wrt; Wed, 22 Mar 2023 07:37:35 -0700 (PDT) X-Google-Smtp-Source: AK7set+5OYZHSkgGj/f2IRKvS/GswSOaxlFZ2zJ+/NCcq/GHxwMVu3w4jT+4yRZfVnoIbrwH8L2B X-Received: by 2002:a17:906:ce5c:b0:933:4184:f0d7 with SMTP id se28-20020a170906ce5c00b009334184f0d7mr7801556ejb.69.1679495855246; Wed, 22 Mar 2023 07:37:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679495855; cv=none; d=google.com; s=arc-20160816; b=VrVREO5K376c0py6V1P3+QnsA7RojwH5ducuC7HX78zC9e3nk6WHzuqaYbY9aA5akb ynZS6p7Ne9RsFtt/URUWbAkNscicJ90f5p9u8FsL/bq+YyWFPzk/b5scqVA3BMUDBwO4 5H9Es0Pyx1A2u3gPCccDTSxRl/bI2QnJmaaxcIBCu8dCbZQ7hP7FBRfEyxMJMU635qAJ YkyqrCsc5I1ZRYMDOvef8nX9QcWiS3AEueIR03x3ZvqlhArr5WbhaAKaoQTklef1RJzb fcH1kDoHNTGnKmxyvllpnWc8Wd865Wby0sIcxPiiViyZbIfiRzS0479hsJHFvDXnlpbg HDJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=hK9QKF1zTSJo3M0FBtZudbO+YN7RitbHnuzi6Kn9eyE=; b=YzSrkq2g+Glsb62RF0Y57y2B44pd+d3Vn1h6bFvyVK5cuV1lP1KS1UGv15/Hei4pKw /rG9jfbn96C2aJmObPPwPLjpq+lLwwg2uNjtbIXk9bsPY2MMqQ3WBKtYBGPP7wiYP5/w Jl/tDBq3dou+6TmE0YcCpVe5LW5GMrpOFCE3Ip/H81JVuAdBIfyApZve0FX5emXHiDR2 nbflPXx6Kp81KkJT9nEBShBgcUuYEsjwyvroqE3cm7FcJN26M7WuPMsm+NuCsm0BzEMY NxnnfE2cl7xiAhHI5MdZbdlfEhTunMaHe7sHIitKq5hER6IYLg2gBSuBJQ3OHkizdwU6 E4PA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x26-20020a1709060a5a00b009314c7ae06csi16118016ejf.191.2023.03.22.07.37.12; Wed, 22 Mar 2023 07:37:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231542AbjCVObv (ORCPT <rfc822;pusanteemu@gmail.com> + 99 others); Wed, 22 Mar 2023 10:31:51 -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 <rfc822;linux-kernel@vger.kernel.org>); 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 <linux-kernel@vger.kernel.org>; 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 <ore@pengutronix.de>) 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 <ore@pengutronix.de>) 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 <ore@pengutronix.de>) id 1pezUx-0060Zl-2v; Wed, 22 Mar 2023 15:31:31 +0100 From: Oleksij Rempel <o.rempel@pengutronix.de> To: "David S. Miller" <davem@davemloft.net>, Andrew Lunn <andrew@lunn.ch>, Eric Dumazet <edumazet@google.com>, Florian Fainelli <f.fainelli@gmail.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Vladimir Oltean <olteanv@gmail.com>, Woojung Huh <woojung.huh@microchip.com> Cc: Oleksij Rempel <o.rempel@pengutronix.de>, 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: 8bit 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 X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761079045969840194?= X-GMAIL-MSGID: =?utf-8?q?1761079045969840194?= |
Series |
net: dsa: microchip: ksz8: fixes for stable
|
|
Commit Message
Oleksij Rempel
March 22, 2023, 2:31 p.m. UTC
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 <o.rempel@pengutronix.de>
---
drivers/net/dsa/microchip/ksz_common.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Comments
On Wed, 22 Mar 2023 15:31:26 +0100 Oleksij Rempel wrote:
> Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common")
The code move broke it? Looks like it was 5,0 before and 5,0 after
the change? We need a real tag, pointing to where the code was first
added.
Any reason you didn't CC Arun, just an omission or they're no longer
@microchip?
Arun, would you be able to review this series?
Hi Oleksij, On Wed, 2023-03-22 at 15:31 +0100, Oleksij Rempel wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you > know the content is safe > > 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 <o.rempel@pengutronix.de> > --- > 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/microchip/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[] = { > [STATIC_MAC_TABLE_FID] = GENMASK(29, 26), > [STATIC_MAC_TABLE_OVERRIDE] = BIT(20), > [STATIC_MAC_TABLE_FWD_PORTS] = GENMASK(18, 16), > - [DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(5, 0), > + [DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(1, 0), > [DYNAMIC_MAC_TABLE_MAC_EMPTY] = BIT(7), > [DYNAMIC_MAC_TABLE_NOT_READY] = BIT(7), > - [DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 28), > + [DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 24), > [DYNAMIC_MAC_TABLE_FID] = GENMASK(19, 16), > [DYNAMIC_MAC_TABLE_SRC_PORT] = GENMASK(21, 20), > [DYNAMIC_MAC_TABLE_TIMESTAMP] = GENMASK(23, 22), > @@ -420,7 +420,7 @@ static u8 ksz8863_shifts[] = { > [VLAN_TABLE_MEMBERSHIP_S] = 16, > [STATIC_MAC_FWD_PORTS] = 16, > [STATIC_MAC_FID] = 22, > - [DYNAMIC_MAC_ENTRIES_H] = 3, > + [DYNAMIC_MAC_ENTRIES_H] = 8, > [DYNAMIC_MAC_ENTRIES] = 24, > [DYNAMIC_MAC_FID] = 16, > [DYNAMIC_MAC_TIMESTAMP] = 24, Cross verified the above entries with datasheet. As Jakub mentioned, above fix commit is just code movement from ksz8795.c to ksz_common. Other than Fix commit, patch Looks good to me. Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com> > -- > 2.30.2 >
On Thu, Mar 23, 2023 at 03:41:01PM -0700, Jakub Kicinski wrote: > On Wed, 22 Mar 2023 15:31:26 +0100 Oleksij Rempel wrote: > > Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common") > > The code move broke it? Looks like it was 5,0 before and 5,0 after > the change? We need a real tag, pointing to where the code was first > added. ack. will fix it. > Any reason you didn't CC Arun, just an omission or they're no longer > @microchip? He is not in MAINTAINERS for drivers/net/dsa/microchip/* even if he is practically maintaining it .. :) > Arun, would you be able to review this series? Regards, Oleksij
On Fri, 24 Mar 2023 06:35:12 +0100 Oleksij Rempel wrote: > > Any reason you didn't CC Arun, just an omission or they're no longer > > @microchip? > > He is not in MAINTAINERS for drivers/net/dsa/microchip/* even if he is > practically maintaining it .. :) get_maintainer is occasionally useful in pointing out people who wrote the code but mostly the authors of code under Fixes. I use this little script usually: #!/usr/bin/env python3 import argparse import fileinput import subprocess import tempfile import sys import os import re emailpat = re.compile(r'([^ <"]*@[^ >"]*)') skip = {'kuba@kernel.org', 'davem@davemloft.net', 'pabeni@redhat.com', 'edumazet@google.com', 'netdev@vger.kernel.org', 'linux-kernel@vger.kernel.org'} def do(lines): ret = ['---'] for line in lines: line = line.strip() if not line: continue ret.append('# ' + line) if "moderated" in line: ret.append('# skip, moderated') continue match = emailpat.search(line) if match: addr = match.group(1) if addr in skip: ret.append('# skip, always-cc') else: ret.append('CC: ' + addr) else: ret.append('# Bad line') return ret def run(cmd): p = subprocess.run(cmd, capture_output=True, check=True) return p.stdout.decode("utf-8").strip() def git_commit_msg(): return run(["git", "show", "--format=%B", "--no-patch"]) def git_commit(filename): return run(["git", "commit", "--amend", "-F", filename]) def git_patch_format(): return run(["git", "format-patch", "HEAD~", "-o", "/tmp/"]) def get_maint(patch_file): return run(["./scripts/get_maintainer.pl", "--git-min-percent", "30", patch_file]) def main(): parser = argparse.ArgumentParser() parser.add_argument('--stdin', help="Read the get_maintainer output from stdin", action='store_true') parser.add_argument('--inline', help="Amend HEAD directly", action='store_true') args = parser.parse_args() if args.stdin: out = do(sys.stdin.readlines()) elif args.inline: msg = git_commit_msg() patch_file = git_patch_format() maint = get_maint(patch_file) os.unlink(patch_file) out = do(maint.split("\n")) out = [l for l in out if l[0] != '#'] tmpf = tempfile.NamedTemporaryFile(mode='w+', encoding="utf-8") tmpf.write(msg + '\n') tmpf.write('\n'.join(out)) tmpf.flush() git_commit(tmpf.name) tmpf.close() out = ["Updated inline: " + msg.split("\n")[0]] else: patch_file = git_patch_format() maint = get_maint(patch_file) os.remove(patch_file) out = do(maint.split("\n")) print('\n'.join(out)) if __name__ == '__main__': sys.exit(main())
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/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[] = { [STATIC_MAC_TABLE_FID] = GENMASK(29, 26), [STATIC_MAC_TABLE_OVERRIDE] = BIT(20), [STATIC_MAC_TABLE_FWD_PORTS] = GENMASK(18, 16), - [DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(5, 0), + [DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(1, 0), [DYNAMIC_MAC_TABLE_MAC_EMPTY] = BIT(7), [DYNAMIC_MAC_TABLE_NOT_READY] = BIT(7), - [DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 28), + [DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 24), [DYNAMIC_MAC_TABLE_FID] = GENMASK(19, 16), [DYNAMIC_MAC_TABLE_SRC_PORT] = GENMASK(21, 20), [DYNAMIC_MAC_TABLE_TIMESTAMP] = GENMASK(23, 22), @@ -420,7 +420,7 @@ static u8 ksz8863_shifts[] = { [VLAN_TABLE_MEMBERSHIP_S] = 16, [STATIC_MAC_FWD_PORTS] = 16, [STATIC_MAC_FID] = 22, - [DYNAMIC_MAC_ENTRIES_H] = 3, + [DYNAMIC_MAC_ENTRIES_H] = 8, [DYNAMIC_MAC_ENTRIES] = 24, [DYNAMIC_MAC_FID] = 16, [DYNAMIC_MAC_TIMESTAMP] = 24,