From patchwork Tue Nov 14 16:07:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Williams X-Patchwork-Id: 165010 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:a59:b0:164:83eb:24d7 with SMTP id 25csp2029011rwb; Tue, 14 Nov 2023 08:08:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IGuSG4QgwhR8hDIJQauLzLy+zdUdhvwLl94wE6H175pZwdF6rmYra3Tz8Q9vCKLjS3LaZiO X-Received: by 2002:a17:90b:4f84:b0:27d:661f:59ac with SMTP id qe4-20020a17090b4f8400b0027d661f59acmr7952523pjb.38.1699978134009; Tue, 14 Nov 2023 08:08:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699978133; cv=none; d=google.com; s=arc-20160816; b=0tNl0JtVV0+aiMAv6UFGRTfokxUDZHeLUB3f2oy/KIRStX87NvkqOlr0wH+TBb2FKf KqFUMluFUoaRd3YTEDEgQULpFKHR6ckjrhZSuN2JrY5kCYR019laMtooWsSMnZJnOB+m Yhom+kXQLW3IWVKB5wMdjisk5GQpF6YK5tx6vFHeWGSIOuxkaOYbYbkHNDzIRh4ZSKdQ KQIGk6JLbkssINh7gQq+l7kBFVOhuaqBqtQEWaEYxp60DLMHp74h4AMkcxQhtqu3YA6m tudG+dcHcFcsmFMWtVLgxi38wfOKsZZ3Oi15ljwnByiagS7a32LZEhhuL3xjx/LK/QRp Ydzw== 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 :feedback-id:dkim-signature:dkim-signature; bh=Ommov9xLRmN5YyPFiK9sbrKSCV5Vks42OsIemChD7aM=; fh=aTLkBH5CsZSc2GrYc1PVZLAwTGPXWlHJGoDjf+30ZP8=; b=T6hDFJ1xuYNl44YRZkNbmcevhJ4AJmfF+ZxQ4i9hJvFdKxj5vdrxkrHBR4LpN8NKrz yk8g/xZF2+4lMaWzL4lIo+Y+9mMffuP7n8a2V16deEKlpngcq0bKB6hkde5iPmuBkTeE ALD6kqpCZqbcIwtURNbikIFxt9D0Kaj5SuXVnOKLqdyi7hVRCBM/zQxB8DtGs0N/nD0e GD/7iJzw4JN5M78QRx9se6/3KQlATOH/5ltSPyNJFSyFR5HVuKmDmvGswiW4henVX4SZ WeHCm2PNjzscgpZY29Mtzs9gsgsUCiua3l1tFopoiWzF/LWG3i8ZaVA9whCMDnOR8wjN xNEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@stwcx.xyz header.s=fm3 header.b=W9NMfeOQ; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=MWUqb6uI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id ob18-20020a17090b391200b0027916d248bbsi8600079pjb.162.2023.11.14.08.08.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 08:08:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@stwcx.xyz header.s=fm3 header.b=W9NMfeOQ; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=MWUqb6uI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 6A5E780BE616; Tue, 14 Nov 2023 08:08:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233795AbjKNQH7 (ORCPT + 29 others); Tue, 14 Nov 2023 11:07:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233773AbjKNQH5 (ORCPT ); Tue, 14 Nov 2023 11:07:57 -0500 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE320130; Tue, 14 Nov 2023 08:07:52 -0800 (PST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id EB2075C0120; Tue, 14 Nov 2023 11:07:49 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 14 Nov 2023 11:07:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stwcx.xyz; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1699978069; x= 1700064469; bh=Ommov9xLRmN5YyPFiK9sbrKSCV5Vks42OsIemChD7aM=; b=W 9NMfeOQA5KSgcRScEqSLBjslRpw7CRpCRujgJsmZ81k46KPpWhBbNbVuk1TXxC+V 6So7WbZiBXAp1+jfF8gQnaUB4tWdoiQ6nE9hrl/HSU5hN1gIzAp2n5wgEjexfaOJ CgiJeTg3j8EKUL1zEqPfQSX2W1fr5K01/jD+lgPiJVythcHbavOMsvMCxG/ym8p6 xFyuOuUaxXTzyi1vucupm27D1yjRp9NjCtM1Pf8GlRVoWEuNM2dFp8VMe5+N68g7 vf1cbohbHnpuK7s8QMgfpBARrg3dXVjd/mtLZjBuqbCzEdqnfFuReCnb2C3H8MeM kV/cxnBId3A2lr/nINVNg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1699978069; x= 1700064469; bh=Ommov9xLRmN5YyPFiK9sbrKSCV5Vks42OsIemChD7aM=; b=M WUqb6uIpvZL0zTVDt1cBLETG+g+hUbuUigEdLqh/kLVmFs4kCwtGtfLkblERbWf2 IHOv+X7GC1AhyW7/meDlcRAWlzXVal7tbJDnH32vnwekl7PAyeo45IrtRO+AwuiH sqoQwGTHeh+yGBcNWJsOM8jatvWxLJCnsivJcoJolAOXkAJzt+lADadffjlTlK9t ZqTQKEuiJT8nGDcJixbJp8CsSiF1oKuFgMjllqeUsldd+Rr3XA3nocg3UqLxTr5D RlLds2rpS0/oARUH/+9zoiG9WyqWCwkXU4AGf/e/lifADI128pywE0ovqbxX/w0b vymZmU4YnbXlFcEavBTgA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudefvddgkeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdludejmdenucfjughrpefhvfevufffkffojghfggfgsedtkeertder tddtnecuhfhrohhmpefrrghtrhhitghkucghihhllhhirghmshcuoehprghtrhhitghkse hsthiftgigrdighiiiqeenucggtffrrghtthgvrhhnpeffuddukeehveeiiefhhfdvgffg udfffffhteeileetteevtdejgfeiledtveevgfenucffohhmrghinhepkhgvrhhnvghlrd horhhgpdhgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr mhepmhgrihhlfhhrohhmpehprghtrhhitghksehsthiftgigrdighiii X-ME-Proxy: Feedback-ID: i68a1478a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 14 Nov 2023 11:07:49 -0500 (EST) From: Patrick Williams To: Samuel Mendoza-Jonas , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Peter Delevoryas , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 1/3] net/ncsi: Simplify Kconfig/dts control flow Date: Tue, 14 Nov 2023 10:07:33 -0600 Message-ID: <20231114160737.3209218-2-patrick@stwcx.xyz> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231114160737.3209218-1-patrick@stwcx.xyz> References: <20231114160737.3209218-1-patrick@stwcx.xyz> MIME-Version: 1.0 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 14 Nov 2023 08:08:33 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782556271528341156 X-GMAIL-MSGID: 1782556271528341156 From: Peter Delevoryas Background: 1. CONFIG_NCSI_OEM_CMD_KEEP_PHY If this is enabled, we send an extra OEM Intel command in the probe sequence immediately after discovering a channel (e.g. after "Clear Initial State"). 2. CONFIG_NCSI_OEM_CMD_GET_MAC If this is enabled, we send one of 3 OEM "Get MAC Address" commands from Broadcom, Mellanox (Nvidida), and Intel in the *configuration* sequence for a channel. 3. mellanox,multi-host (or mlx,multi-host) Introduced by this patch: https://lore.kernel.org/all/20200108234341.2590674-1-vijaykhemka@fb.com/ Which was actually originally from cosmo.chou@quantatw.com: https://github.com/facebook/openbmc-linux/commit/9f132a10ec48db84613519258cd8a317fb9c8f1b Cosmo claimed that the Nvidia ConnectX-4 and ConnectX-6 NIC's don't respond to Get Version ID, et. al in the probe sequence unless you send the Set MC Affinity command first. Problem Statement: We've been using a combination of #ifdef code blocks and IS_ENABLED() conditions to conditionally send these OEM commands. It makes adding any new code around these commands hard to understand. Solution: In this patch, I just want to remove the conditionally compiled blocks of code, and always use IS_ENABLED(...) to do dynamic control flow. I don't think the small amount of code this adds to non-users of the OEM Kconfigs is a big deal. Signed-off-by: Peter Delevoryas --- net/ncsi/ncsi-manage.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c index d9da942ad53d..f3d7fe86fea1 100644 --- a/net/ncsi/ncsi-manage.c +++ b/net/ncsi/ncsi-manage.c @@ -689,8 +689,6 @@ static int set_one_vid(struct ncsi_dev_priv *ndp, struct ncsi_channel *nc, return 0; } -#if IS_ENABLED(CONFIG_NCSI_OEM_CMD_KEEP_PHY) - static int ncsi_oem_keep_phy_intel(struct ncsi_cmd_arg *nca) { unsigned char data[NCSI_OEM_INTEL_CMD_KEEP_PHY_LEN]; @@ -716,10 +714,6 @@ static int ncsi_oem_keep_phy_intel(struct ncsi_cmd_arg *nca) return ret; } -#endif - -#if IS_ENABLED(CONFIG_NCSI_OEM_CMD_GET_MAC) - /* NCSI OEM Command APIs */ static int ncsi_oem_gma_handler_bcm(struct ncsi_cmd_arg *nca) { @@ -856,8 +850,6 @@ static int ncsi_gma_handler(struct ncsi_cmd_arg *nca, unsigned int mf_id) return nch->handler(nca); } -#endif /* CONFIG_NCSI_OEM_CMD_GET_MAC */ - /* Determine if a given channel from the channel_queue should be used for Tx */ static bool ncsi_channel_is_tx(struct ncsi_dev_priv *ndp, struct ncsi_channel *nc) @@ -1039,20 +1031,18 @@ static void ncsi_configure_channel(struct ncsi_dev_priv *ndp) goto error; } - nd->state = ncsi_dev_state_config_oem_gma; + nd->state = IS_ENABLED(CONFIG_NCSI_OEM_CMD_GET_MAC) + ? ncsi_dev_state_config_oem_gma + : ncsi_dev_state_config_clear_vids; break; case ncsi_dev_state_config_oem_gma: nd->state = ncsi_dev_state_config_clear_vids; - ret = -1; -#if IS_ENABLED(CONFIG_NCSI_OEM_CMD_GET_MAC) nca.type = NCSI_PKT_CMD_OEM; nca.package = np->id; nca.channel = nc->id; ndp->pending_req_num = 1; ret = ncsi_gma_handler(&nca, nc->version.mf_id); -#endif /* CONFIG_NCSI_OEM_CMD_GET_MAC */ - if (ret < 0) schedule_work(&ndp->work); @@ -1404,7 +1394,6 @@ static void ncsi_probe_channel(struct ncsi_dev_priv *ndp) schedule_work(&ndp->work); break; -#if IS_ENABLED(CONFIG_NCSI_OEM_CMD_GET_MAC) case ncsi_dev_state_probe_mlx_gma: ndp->pending_req_num = 1; @@ -1429,7 +1418,6 @@ static void ncsi_probe_channel(struct ncsi_dev_priv *ndp) nd->state = ncsi_dev_state_probe_cis; break; -#endif /* CONFIG_NCSI_OEM_CMD_GET_MAC */ case ncsi_dev_state_probe_cis: ndp->pending_req_num = NCSI_RESERVED_CHANNEL; @@ -1447,7 +1435,6 @@ static void ncsi_probe_channel(struct ncsi_dev_priv *ndp) if (IS_ENABLED(CONFIG_NCSI_OEM_CMD_KEEP_PHY)) nd->state = ncsi_dev_state_probe_keep_phy; break; -#if IS_ENABLED(CONFIG_NCSI_OEM_CMD_KEEP_PHY) case ncsi_dev_state_probe_keep_phy: ndp->pending_req_num = 1; @@ -1460,7 +1447,6 @@ static void ncsi_probe_channel(struct ncsi_dev_priv *ndp) nd->state = ncsi_dev_state_probe_gvi; break; -#endif /* CONFIG_NCSI_OEM_CMD_KEEP_PHY */ case ncsi_dev_state_probe_gvi: case ncsi_dev_state_probe_gc: case ncsi_dev_state_probe_gls: