DPDK patches and discussions
 help / color / mirror / Atom feed
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
To: Ferruh Yigit <ferruh.yigit@xilinx.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	David Marchand <david.marchand@redhat.com>,
	Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	Qi Z Zhang <qi.z.zhang@intel.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	olivier.matz@6wind.com, dev@dpdk.org
Subject: Re: [PATCH 5/5] net/cxgbe: read firmware configuration file from filesystem
Date: Fri, 6 May 2022 17:06:11 +0530	[thread overview]
Message-ID: <YnUIK2AfbF8ja1no@chelsio.com> (raw)
In-Reply-To: <37be1c92-f15f-eac7-40c6-5614fe160d23@xilinx.com>

On Thursday, May 05/05/22, 2022 at 17:36:06 +0100, Ferruh Yigit wrote:
> On 5/5/2022 5:29 PM, Ferruh Yigit wrote:
> > On 4/18/2022 11:24 PM, Rahul Lakkireddy wrote:
> > > Add support to read firmware configuration file from
> > > /lib/firmware/cxgb4/ path in the filesystem.
> > > 
> > 
> > Hi Rahul,
> > 
> > Can you please document the FW config file in the driver documentation?
> > Please add:
> > - Path of the config file
> > - Content of the config file. As far as I can see from the code the
> > config file directly sent to the FW, does this mean config file is
> > binary?
> > - What happens when config file is not found
> > 
> > Also are these values overlap with the devargs that PMD has? If so what
> > happens in that case, which one is used, devargs one or config file one?
> > 
> > Previously there was 'cxgbtool' tool to send the config file, is this
> > method replacing it? Why not keep using 'cxgbtool'?
> > 

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.

> 
> cc'ed more folks.
> 
> This patch introduces a userspace config file for runtime FW config.
> 
> What do you think about this approach?
> Should we formalize this method more, like introducing an ethdev level
> config option to hold the config file, which can be used for driver and/or
> FW. And perhaps with a defined syntax (yaml?).
> Can this be an alternative to PMD devargs?
> 
> Cheers,
> ferruh

Thanks,
Rahul

  reply	other threads:[~2022-05-06 11:36 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18 22:24 [PATCH 0/5] net/cxgbe: updates and bug fixes Rahul Lakkireddy
2022-04-18 22:24 ` [PATCH 1/5] net/cxgbe: fill correct port info in mbufs for Rx Rahul Lakkireddy
2022-04-18 22:24 ` [PATCH 2/5] net/cxgbe: fix Tx queue stuck with mbuf chain coalescing Rahul Lakkireddy
2022-04-18 22:24 ` [PATCH 3/5] net/cxgbe: simplify Rx payload buffer size posting Rahul Lakkireddy
2022-04-18 22:24 ` [PATCH 4/5] net/cxgbe: track packets dropped by TP due to congestion Rahul Lakkireddy
2022-05-05 16:28   ` Ferruh Yigit
2022-05-06 11:09     ` Rahul Lakkireddy
2022-05-06 12:32       ` Ferruh Yigit
2022-05-06 13:18   ` [PATCH v2] " Rahul Lakkireddy
2022-05-17 16:52     ` Ferruh Yigit
2022-04-18 22:24 ` [PATCH 5/5] net/cxgbe: read firmware configuration file from filesystem Rahul Lakkireddy
2022-05-05 16:29   ` Ferruh Yigit
2022-05-05 16:36     ` Ferruh Yigit
2022-05-06 11:36       ` Rahul Lakkireddy [this message]
2022-05-10  9:02         ` Thomas Monjalon
2022-05-10 14:11           ` Rahul Lakkireddy
2022-05-10 14:30             ` Thomas Monjalon
2022-05-10 15:05               ` Rahul Lakkireddy
2022-05-10 16:20                 ` Thomas Monjalon
2022-05-16 10:27   ` [PATCH v2] " Rahul Lakkireddy
2022-05-16 11:06     ` Ferruh Yigit
2022-05-16 11:56       ` Rahul Lakkireddy
2022-05-16 14:05         ` Ferruh Yigit
2022-05-16 19:34     ` [PATCH v3] " Rahul Lakkireddy
2022-05-17 16:52       ` Ferruh Yigit
2022-05-05 16:29 ` [PATCH 0/5] net/cxgbe: updates and bug fixes Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YnUIK2AfbF8ja1no@chelsio.com \
    --to=rahul.lakkireddy@chelsio.com \
    --cc=arybchenko@solarflare.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@xilinx.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=humin29@huawei.com \
    --cc=jerinj@marvell.com \
    --cc=olivier.matz@6wind.com \
    --cc=qi.z.zhang@intel.com \
    --cc=thomas@monjalon.net \
    --cc=viacheslavo@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).