Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp2460040pxb; Mon, 23 Aug 2021 22:57:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuI8j69glf7/oJwYGxLQiHybzPuCT4mH2ZxaItE9wyl9oXNvVrOHnjdAmEqkRWxj85x1MD X-Received: by 2002:a50:c092:: with SMTP id k18mr41022019edf.361.1629784630681; Mon, 23 Aug 2021 22:57:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629784630; cv=none; d=google.com; s=arc-20160816; b=H3P3pqXau6Dbfo+Tui12F+N4zHhOQkouAPiJT2Cfir5hMCukMlL4BXsyUnuQCz4SkU G5WJTOYBUB1H5qPtTqAZl9IDzw3Q7gyZl0JW9PekB0mF1Pen4ExtWKYCj1sgOr05rG9n G7SyPpiU0P0hKZ4Pz7mbe/lzRSvl0uHlOsSySnTpp7L0fQya1OOhj47aeB4MeIVP9FaV P0kt/7v89AXAJSvt9f0fco/G7UaooMFlLl7CBzkCwIpYdrF7iprfRuia9oP7/32IuPEU 9FhF7nfOCOZpvYfZlALhPjBpyIjF1fVJvLd2+swKqQnyV9VAejo2mGD4vLKfYhm21jF4 lWug== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=uzm00SI6Xxv7Dr12oDCG09tFQ89IjLql7VYEkcSa46Y=; b=WEhcYFdGR+/TYi9gmztNOMOLHFqu44TSWZSx0TZUvoW/Fur1K7EkPWj7nehyrvshf9 KslwygnrWhO1TNwnlmKfldqXCT/l4Gi7S/50g/GtgYqyeZhoys4wpuWXClNumnjwiwa3 vqdvTT9OTu6hvMCiWG6aE2vQKraSwnwkqK1V7es4S1wvUsGjws7FYzCMWOFpFANHzO8z BTfZuFnM3pA+8/PZshYVuGWwKLeHbaoomZRsDa9+QDZFD+CeMpbKi/F78k3y49ZBtJ/7 Uu37o4XB4VEmzoAU9mxQlY42oAUfqBasnRZi0mvLPQsspk6HNRaDgfjHYeCUo3MNWquo 1rKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="U+/FRkII"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qf8si14308191ejc.716.2021.08.23.22.56.47; Mon, 23 Aug 2021 22:57:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="U+/FRkII"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234052AbhHXF4D (ORCPT + 99 others); Tue, 24 Aug 2021 01:56:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42006 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230104AbhHXF4C (ORCPT ); Tue, 24 Aug 2021 01:56:02 -0400 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0C6CC061575; Mon, 23 Aug 2021 22:55:18 -0700 (PDT) Received: by mail-pj1-x1033.google.com with SMTP id z24-20020a17090acb1800b0018e87a24300so1601449pjt.0; Mon, 23 Aug 2021 22:55:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uzm00SI6Xxv7Dr12oDCG09tFQ89IjLql7VYEkcSa46Y=; b=U+/FRkIIjFBtQoRW5haOg0F8PlwQaveBzrO3OYhJi0C3fyk25+NPCgb9o8wUrKcNHf ae/4mTxPFes/E4AatfwSp6CwzbwS5SaGFPyGBbXiziD0TbQKB0gZxdft+/vbZaaUGmnK T8BXeOseqa3/sQo7eyhGLJV0zuw5uy8nvV49gNccJzEZQO+uugR2H50r7uuc8P8KEK8K C6PvI7X6UgWBCwHy/5LGZBjO5pQaQkcJWR6JHWf1Riz38nat4JXClCQbsxSEw4U/s44N +t4RqSyoIT/IM3HRkfn8mvFyMDy9f2heRo7RIQ02bIRmA4aICIz7u+tHYOxpJ2TblFBJ zByw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uzm00SI6Xxv7Dr12oDCG09tFQ89IjLql7VYEkcSa46Y=; b=oNVftBXrwzUNmRd3pXWY/cJSFSwe2nyw15l2aec1YPMiI4DMtnGVkvMeIOEsfN603K chewOmwkLuQgYApMwCUZsMF/x12TaatfEwoUopOIMpOjkDqdGZbtP2FLzGAcWGgnXaFe ut8L2xcQz17j4oRNRDOgFwnwSHIdXXPwRV+AH912aWxiWxX5NKJoLyTg3046hQKsLoI0 CbGzORgNj3yepPUIK5TCmlPmMcfQa+QrJnRVQ45s6NCn4fgYr/D4s162UaFcC57C+A51 ThHyEfDbOAPzbthrCf22ft/oBv3YbfMwgbX9o3Yad9ARCBaSqpEdqI5se/hoePStmXja eenw== X-Gm-Message-State: AOAM530I8DOTNBNmisbymeYR3xdN4w8kek6BKPT8A1QQqAdxLKE40F87 hm3bd252CoTKVL2DBvWaZpNaPxweHPrP4T5f X-Received: by 2002:a17:90a:af88:: with SMTP id w8mr2625365pjq.104.1629784518132; Mon, 23 Aug 2021 22:55:18 -0700 (PDT) Received: from haswell-ubuntu20.lan ([138.197.212.246]) by smtp.gmail.com with ESMTPSA id j5sm1053958pjv.56.2021.08.23.22.55.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Aug 2021 22:55:17 -0700 (PDT) From: DENG Qingfang To: stable@vger.kernel.org Cc: Sean Wang , Andrew Lunn , Vivien Didelot , Florian Fainelli , "David S. Miller" , Matthias Brugger , netdev@vger.kernel.org (open list:MEDIATEK SWITCH DRIVER), linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support), linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek SoC support) Subject: [PATCH 4.19.y] net: dsa: mt7530: disable learning on standalone ports Date: Tue, 24 Aug 2021 13:55:08 +0800 Message-Id: <20210824055509.1316124-1-dqfext@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a partial backport of commit 5a30833b9a16f8d1aa15de06636f9317ca51f9df ("net: dsa: mt7530: support MDB and bridge flag operations") upstream. Make sure that the standalone ports start up with learning disabled. Signed-off-by: DENG Qingfang --- drivers/net/dsa/mt7530.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 6335c4ea0957..67dfab774618 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -803,6 +803,8 @@ mt7530_port_bridge_join(struct dsa_switch *ds, int port, PCR_MATRIX_MASK, PCR_MATRIX(port_bitmap)); priv->ports[port].pm |= PCR_MATRIX(port_bitmap); + mt7530_clear(priv, MT7530_PSC_P(port), SA_DIS); + mutex_unlock(&priv->reg_mutex); return 0; @@ -907,6 +909,8 @@ mt7530_port_bridge_leave(struct dsa_switch *ds, int port, mt7530_port_set_vlan_unaware(ds, port); + mt7530_set(priv, MT7530_PSC_P(port), SA_DIS); + mutex_unlock(&priv->reg_mutex); } @@ -1287,11 +1291,15 @@ mt7530_setup(struct dsa_switch *ds) mt7530_rmw(priv, MT7530_PCR_P(i), PCR_MATRIX_MASK, PCR_MATRIX_CLR); - if (dsa_is_cpu_port(ds, i)) + if (dsa_is_cpu_port(ds, i)) { mt7530_cpu_port_enable(priv, i); - else + } else { mt7530_port_disable(ds, i, NULL); + /* Disable learning by default on all user ports */ + mt7530_set(priv, MT7530_PSC_P(i), SA_DIS); + } + /* Enable consistent egress tag */ mt7530_rmw(priv, MT7530_PVC_P(i), PVC_EG_TAG_MASK, PVC_EG_TAG(MT7530_VLAN_EG_CONSISTENT)); -- 2.25.1