From patchwork Sat Feb 11 18:41:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard van Schagen X-Patchwork-Id: 13137192 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 29905C636CC for ; Sat, 11 Feb 2023 18:44:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=ojblXnJZtQ5Nuzx6m+joOQlP2UKppSKbvBR1vJPNz8s=; b=27eLaJYEgFqbj7E93kamvuR3p/ Z36IZarF8lOe8IsTWFDApSiicoqOk/baa/JdOQUEpP3VqBGpiVcIqaSezApBRT7pNCG65EtWn7ybD ri367MEuxQyfaCeS6IQhS9b51kmZ+ydYU79lWavuRzSQE9gFiHfTEhdKnR+/OMLRkGJ5BNrxGpOO3 K6NtgAEOXZGp8hegxTzGb54zCvf2GdIcUaEjgU27w9uiKm3rLMMpQiDWJGDd43yl+/rYLL1Wa8xoV XyO+NSTrWKqb/uxIljannsJx96XYJ2b6bs2JOE061ONF6jB8lFzTP4IRVhblho3KTm90ujjaX2KmU NdWnq8UQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pQuqz-00A687-Go; Sat, 11 Feb 2023 18:44:05 +0000 Received: from mail-vi1eur05on20614.outbound.protection.outlook.com ([2a01:111:f400:7d00::614] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pQuqo-00A65d-Pf; Sat, 11 Feb 2023 18:43:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kj38hfv+wbX/FLZhtUDVuAXUbUmdSHftim0WDNIQnf1H/Ub7jTSvCKIoCT1UQ8q8yKtLy/IrXjNmXfipQt1AhphpHjTWT+9roi08QUXLBGGrT2UdNNg7xoy/A7p6ecEstqyTFhjB/mwWR5yBETVGuJMtCR4y4m9YKzynwxxqCGjQn4A01LsYm8P7ly5PnkUpKIUOaMe6LvbXMbjYvCdxWV9E9ssALO72DWrMm7ttgClKsvnNu5MqnKHYsSCn1ccNNX4plHSKQoExV0I5eZzlSchfoByhslZDWstIDi4BVzAsRE0GnaO9IcuCKiaF/aKHz6fnXTptPzxQEr45O4517A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ojblXnJZtQ5Nuzx6m+joOQlP2UKppSKbvBR1vJPNz8s=; b=i1bkE1d6bqQklSPyJ6C3v23AXFtw/nhCYAPnAzbUEvLrO5kTWczX3UVd5XO6EXvmWIebwJUdREAUpAtRQ0W9WPdOl23fFEC49O7KNaibmzuovYkvUObkYVMQb1qFJ4651Ctbd20pskCbHySMXnaxa7JWqwfxFYgebY2i3hnTcbPmUgRAGAQXxFx7gHhBUVwnMG4P9LeFaFsZMdUbuIZgfm95n+6Un0S7ocL2ydTh8x9BRzhWJmQ+dsacSDCCrGte0Wb5wywRJBx5Wh8/EdpY1VHmxS5jpZiiC7wON7W2KzLUEbkq925SuQK53tHgSQk+b2CHDyha4kZsiqY8iOCxxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=routerhints.com; dmarc=pass action=none header.from=routerhints.com; dkim=pass header.d=routerhints.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=routerhints.com; Received: from VE1PR04MB7454.eurprd04.prod.outlook.com (2603:10a6:800:1a8::7) by AM9PR04MB8413.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.22; Sat, 11 Feb 2023 18:43:50 +0000 Received: from VE1PR04MB7454.eurprd04.prod.outlook.com ([fe80::e4a3:a727:5246:a5cd]) by VE1PR04MB7454.eurprd04.prod.outlook.com ([fe80::e4a3:a727:5246:a5cd%7]) with mapi id 15.20.6086.022; Sat, 11 Feb 2023 18:43:50 +0000 From: Richard van Schagen To: Sean Wang , Landen Chao , DENG Qingfang , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , Arinc Unal , Frank Wunderlich Cc: Richard van Schagen , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH net-next v2] net: dsa: mt7530: add support for changing DSA master Date: Sat, 11 Feb 2023 19:41:01 +0100 Message-Id: <20230211184101.651462-1-richard@routerhints.com> X-Mailer: git-send-email 2.30.2 X-ClientProxiedBy: AM0PR02CA0224.eurprd02.prod.outlook.com (2603:10a6:20b:28f::31) To VE1PR04MB7454.eurprd04.prod.outlook.com (2603:10a6:800:1a8::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB7454:EE_|AM9PR04MB8413:EE_ X-MS-Office365-Filtering-Correlation-Id: da0f8893-9450-48e7-174f-08db0c5fea61 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PRcxnX1m7rRzmO6EMr3LzKLCEkdyYOU4TBttahFlBKIgBUNxM/lbM3JmG1EV4rNh5WW8zb/m2qVSZ2nFRwBEt5kJQwoNEjLenwkLLRoC6IsBb34Q+yUHORdNkE+r9Dvzg9B4L5G4iaxlMoHjfb/fhaXmVaf8St8j7iP6f/Vd3rG3el4t1jfelV0zXBA8+e6V/Oh7pcXLx2LUvCK+/pLVEgbxHEBBw3PNdeJbwg+hynAxcdQb1QeRvRLze2obYktBX8GNzEafnxA9iJzFCWBgktxbKMkuJQDHWG/a/ze+ZVz3kML4JIfLm1MVd9MSz0KIp2me+CHCU6M7GpBflksqCGp2QK1v0nEO1J+8xPlkCwRNUQLVnVs55Vj+TtQw5/nHcxJLJSbBrIpYpgMFlQR7FhkkosZyfk4VWnjLWCPxtEByd7TuzEaSPw5hb6Kcbw/S682HIRuFAJ+5Tw9Swe6uK99/e5IuSITHuF0p9tZdk3BO6gKv+zi9VilEtCzLlDa4Lw9m/ZeUq5iKve2wuK8jira0/rS4ysPQCphKMdHiQF2tMsOWLsk6QAcg2KniCTY0OilIUqyG3gdM098BBQwC56N8K+H6U+HsyzM+1IMRNBZTzducYsUgZl3n4EvTQ1hc1ZofBO60d8cRXUwqJ3mUzBCWBvDWt+YQJXqP/Oz19q7VvJKyBPgJLHLz2Mf32v4d X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB7454.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(39830400003)(396003)(136003)(346002)(451199018)(186003)(6512007)(52116002)(5660300002)(6486002)(2616005)(478600001)(66476007)(66946007)(66556008)(66574015)(83380400001)(6506007)(6666004)(1076003)(8676002)(4326008)(7416002)(2906002)(41300700001)(8936002)(38100700002)(921005)(86362001)(36756003)(110136005)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?KmOnKyIJPZut5AZ69An946ROzBiG?= =?utf-8?q?nbHo09XBIjKge4zAyWddH2//dTS90kN/HEBGoSvtBnREOKWIVVDmKs4H/gCDIstBc?= =?utf-8?q?og/dhzCPwqxHGdftyKNIYwJRAX19j0UWdv178PBAhywOupGd4C5FiHxAsmz9TmZgg?= =?utf-8?q?dpAaF2HE51H4SYtRplG9dmcQ/cBwyxVw3KEOwURtlP/C+W2UAvHbYXkrTU7hiwzjb?= =?utf-8?q?f/0peEIOIBAxefgmFNcXnqXIvDsWbbhAx6DsP81pLQx7Z+FY5YGtPFgylEaYTxQIv?= =?utf-8?q?DQgxHm0/PhMZAhU2Tvh52nAN73y3quV3FrjvmVCkwx6/WZCFAxXU54Wf7wjKevj4M?= =?utf-8?q?pCidkYa766eoMHkNpFHrIa1HAbKddYL2WlX9Su2y8hvBGutZxIwK6lmJ+X80zhQDX?= =?utf-8?q?guw3AePSyNH16lxedezxnLqxsArHOanYApyA4tSBE5tDWGZu9XMC+Z8YfHt7lZCB6?= =?utf-8?q?3YeEqWo85+nb1rV5jJ3emQbXO3VZ7kmpw1AjXxEnFquBtiOeeFRDjQtp69tqhJmdR?= =?utf-8?q?u/KZysYiWADjOzv/uY1nRsky07RMrJ8ZvZzWW5ZYAZfecfhiQuoK4abZDY0QM/J9B?= =?utf-8?q?MMukIaAlHPeVjXAEFlBl6Wz8ILHvVX35QLlhqAoAfL1Wp8cAM7r6Y9VW5fDpYP88h?= =?utf-8?q?TeIqH9zlJ2wLLH25VHxsV6lP2mzdZVOS5sGZVSZWzxXgdt7LLpavCfqwIMuAIH+VP?= =?utf-8?q?LDvgK987vxvaQoTY/I8BQZ3TfXDnr94DfWHxNunrSguNqYTmYdr/UW//PFyYR4vHo?= =?utf-8?q?ggrhJfjxQSpQXl2eBkOaNoCkXMVX92KsKpMVjsB9G2+0K2WASr7vYrxrBve5cY4o9?= =?utf-8?q?GJAleQYmpUMG6WDO7hy8o9ihUsThxlnDaFSVwptyr0NHfrIQvPCyJA9xPtEt7Rwk7?= =?utf-8?q?wZP9OxB1OE+EqRQiECHKU99Ik316M+2Q7mx2VjM/7I2z29kjlchrOaLaadEUoytFr?= =?utf-8?q?2HE+R3MAeE2+YB3E6QAxYs0XmQRm5x+naj1Uf/KWnOB7A8vUenfKLBYU9wY2XbLPC?= =?utf-8?q?WrIeOFZjenPRTl3w2lLScbfB6jqvC7q4n/13VA0Ppk7V5kDbtAhJqit7usIORumJ/?= =?utf-8?q?ExQNScapr4HkFV0axzDFOptsXXSrE675iKxsIP382ezGN5Lusgt5FGEkiz1rOSbiM?= =?utf-8?q?Hcl1oc9kdPIJHxcToH3KJngDAz6qalPLxKLU+8vYux1uEn5M1wOQnMzWclQzcjIDX?= =?utf-8?q?fQmS0tMc4y+KfmKXTgki6IqUVngj2F98d1wMbdOWq1qeWiI5wDNmd6qgItLTOOpE7?= =?utf-8?q?xw4I1iJFG6sJKyRHD/kG4kGOYHhNOK8ZPrmyDirVqDkYM9tixz/1bOfc8LDAcEu9k?= =?utf-8?q?V5cGcfi245LIAxWaen5+53F1bOwwaFcXZYus5xoBqSRk+gtu5Yn7o/RxWXTKrxx9E?= =?utf-8?q?uPF8IjqQ6wczPbPlnypXQBydRv/1nVeUAKnEmWGqU+Qx3UxjxYJeM8kM9KescNrul?= =?utf-8?q?DlYd8Sw9TSMF9jpyutKCCVsHhOZP6gITYdRhMdRgnafzelePmg0kSTBKp6A/A8ZXu?= =?utf-8?q?TCV0OQOvtUm+UoYLpa0gJfMxAsW5JJdwUVCghfL8nTaDKtdLkDZV/FX3uUjkEfLIA?= =?utf-8?q?MoWti15sirXRvC2qWQf/9HTUd1ncmK4oA=3D=3D?= X-OriginatorOrg: routerhints.com X-MS-Exchange-CrossTenant-Network-Message-Id: da0f8893-9450-48e7-174f-08db0c5fea61 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB7454.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2023 18:43:49.9214 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 28838f2d-4c9a-459e-ada0-2a4216caa4fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6ZdTjZ8Nw9iqiyP+TmjjUiUtH6lumvKjzjHK3Xq/NKF338CJSH/hQzNgdE4117VhYMx5pgLVe9z/22QTnjJ3Eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8413 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230211_104354_881897_0E98A0FF X-CRM114-Status: GOOD ( 12.18 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Add support for changing the master of a port on the MT7530 DSA subdriver. Tested-by: Arınç ÜNAL Signed-off-by: Richard van Schagen Signed-off-by: Arınç ÜNAL --- drivers/net/dsa/mt7530.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index b5ad4b4fc00c..2374166c4858 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -1072,6 +1072,35 @@ mt7530_port_disable(struct dsa_switch *ds, int port) mutex_unlock(&priv->reg_mutex); } +static int +mt7530_port_change_master(struct dsa_switch *ds, int port, + struct net_device *master, + struct netlink_ext_ack *extack) +{ + struct mt7530_priv *priv = ds->priv; + struct dsa_port *dp = dsa_to_port(ds, port); + struct dsa_port *cpu_dp = master->dsa_ptr; + + if (netif_is_lag_master(master)) { + NL_SET_ERR_MSG_MOD(extack, + "LAG DSA master not supported"); + return -EOPNOTSUPP; + } + + mutex_lock(&priv->reg_mutex); + + /* Move old to new cpu on User port */ + priv->ports[port].pm &= ~PCR_MATRIX(BIT(dp->cpu_dp->index)); + priv->ports[port].pm |= PCR_MATRIX(BIT(cpu_dp->index)); + + mt7530_rmw(priv, MT7530_PCR_P(port), PCR_MATRIX_MASK, + priv->ports[port].pm); + + mutex_unlock(&priv->reg_mutex); + + return 0; +} + static int mt7530_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu) { @@ -3157,6 +3186,7 @@ static const struct dsa_switch_ops mt7530_switch_ops = { .set_ageing_time = mt7530_set_ageing_time, .port_enable = mt7530_port_enable, .port_disable = mt7530_port_disable, + .port_change_master = mt7530_port_change_master, .port_change_mtu = mt7530_port_change_mtu, .port_max_mtu = mt7530_port_max_mtu, .port_stp_state_set = mt7530_stp_state_set,