From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C020BA00BE; Tue, 10 May 2022 11:02:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3F3041156; Tue, 10 May 2022 11:02:11 +0200 (CEST) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id 07D06406B4 for ; Tue, 10 May 2022 11:02:11 +0200 (CEST) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id BCDE95C00E3; Tue, 10 May 2022 05:02:09 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Tue, 10 May 2022 05:02:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; 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=fm1; t=1652173329; x= 1652259729; bh=3PQTik1EeB+w676RHiL35NudvKBa/8gep6sHxB/Yiek=; b=l 0/QEaQ/9oqmsevdkDAFwMkD9DQHyK7sZljq92yP45UYP0649C7Q8ANXwv6Xv8ado yF+ErMGeHG1aOgsFut8DCFcNQEoR8VsbLBAvaK8zgvpMsU1UuyBdaDnVn08pMmu0 kHLWeyJ09cjiPIr7EtJbBSQjvK2mUFQUTB8yBCORZUko4aCZJKSZ0uMW+GjW88At 9jUVcfDMwKJ1GXoxbCEQRGSbzzF0oKa/ZzQuZ7TRPpiu+zDzi9PVeHmVm8dQz1J0 /iIksT9fND0nzhShHMAomIyJB/ZY8ErIPTLnYebCz9mS7KQMWNqwWqkjFI3nXH3k t4J4J82A+y7QrZ4sFnGpQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; 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:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1652173329; x=1652259729; bh=3PQTik1EeB+w6 76RHiL35NudvKBa/8gep6sHxB/Yiek=; b=iffbmsQ5zn06SyMAEzKlAFv4Au0cH A+8TU/D/2xl2bRvVzz+bXuR0NrPq3QN2XA5QkasnX9HxmkSureKaOzIC+qKJgcAD 4rGmEBHPQs2PgVVPWkxaJJDo/Hd2cDX2ElOtINeLHs5oYAxOsiIfpll5isQESlnw 0pfbh7CM1O3dK0aAaXgSkmmq19uGda+HlWOwZ90covzn9N2/oxIv4vEl2vJtFN7j /Uui20K0WHnY/mMi0JXmAaIAX0qhi0R9GhBcMv0VPpNI3ec34GpIuie+HYmAg1cZ 8dYbvfMuWDHyWM6jpyHD1YquWW86uoklMXQvib4WI0f/PWo3kHGl3X9Ag== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrgedugddtjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg ftrfgrthhtvghrnheptdejieeifeehtdffgfdvleetueeffeehueejgfeuteeftddtieek gfekudehtdfgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 10 May 2022 05:02:07 -0400 (EDT) From: Thomas Monjalon To: Rahul Lakkireddy Cc: Ferruh Yigit , Andrew Rybchenko , David Marchand , Jerin Jacob Kollanukkaran , Qi Z Zhang , Hemant Agrawal , "Min Hu (Connor)" , Viacheslav Ovsiienko , olivier.matz@6wind.com, dev@dpdk.org Subject: Re: [PATCH 5/5] net/cxgbe: read firmware configuration file from filesystem Date: Tue, 10 May 2022 11:02:05 +0200 Message-ID: <5263095.Sb9uPGUboI@thomas> In-Reply-To: References: <37be1c92-f15f-eac7-40c6-5614fe160d23@xilinx.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 06/05/2022 13:36, Rahul Lakkireddy: > The Chelsio FW config file contains a list of register=value pairs to > change configuration of the NIC before firmware is initialized. > It closely resembles the INI file format. It is mainly used to aid > in debugging FW initialization failures and to optimally partition > NIC hardware resources for specific requirements. Partitioning > generally involves moving resources on unused Physical Functions > (PFs) to the main PF, like redistributing queues, hardware TCAMs, > etc., before firmware begins initialization. Once the configuration > looks good, then the final FW config file is flashed onto the NIC > using the cxgbtool. The FW config file can then be removed from the > /lib/firmware/cxgb4/ directory and the FW will begin initializing > with the flashed FW config file on the NIC from next time onwards. > > With this patch, the FW config file is selected in following order. > > 1) Check and select FW config file present in /lib/firmware/cxgb4/ > directory. > > 2) Otherwise, check and select FW config file flashed onto the > NIC. > > 3) Otherwise, select the default FW config file embedded within the > FW binary on the NIC. > > Since this is pretty low-level hardware configuration, the users are > not expected to change this file without expert guidance. So, > exporting such a low-level configuration via devargs API does not > feel like the right fit for this specific requirement. > > Once FW is up and running with the FW config file, some of the driver > and FW runtime features can be enabled/disabled via devargs API during > driver probe. > > To summarize, the FW config file is intended to debug FW initialization > failures and/or aid in resources partitioning before FW starts > initialization. Once the FW is running, the whole or smaller slices > of these partitioned resources can be further redistributed across > the multiple physical ports controlled by the same underlying PF. Sorry it is not clear to me. The FW file is used by cxgbtool to flash it, right? The PMD may use the same FW file for debug diagnostics? How is it used by the kernel?