On Monday, May 05/16/22, 2022 at 12:06:01 +0100, Ferruh Yigit wrote:
> On 5/16/2022 11:27 AM, Rahul Lakkireddy wrote:
> > Add support to read firmware configuration file from
> > /lib/firmware/cxgb4/ path in the filesystem. The firmware
> > config file is used to enable or disable NIC features before
> > firmware initialization to help retrieve better debug data to
> > analyze firmware init failures. The config file can also
> > be used to redistribute resources, like queues, TCAMs, etc.,
> > from disabled physical functions (PFs) to main PF, before
> > firmware init.
> 
> Hi Rahul,
> 
> Please find comments below.
> 
> Also can you please send a new version for both 4/5 and 5/5 (this patch)
> from original series?
> 

I had already posted v2 for 4/5 from original series at below location.

https://patches.dpdk.org/project/dpdk/patch/61ae717665c2f4e38712652bec2f9d0fe5ca7d32.1651842841.git.rahul.lakkire...@chelsio.com/

Do you want me to send a new patch series with 4/5 and 5/5 in a
single patch series?

> > 
> > Signed-off-by: Rahul Lakkireddy <rahul.lakkire...@chelsio.com>
> > ---
> > v2:
> > - Update cxgbe pmd doc about the firmware config file
> > - Update commit message to explain more about firmware config file
> > 
> >   doc/guides/nics/cxgbe.rst               |  28 ++
> >   drivers/net/cxgbe/base/t4fw_interface.h |   1 +
> >   drivers/net/cxgbe/cxgbe_main.c          | 329 ++++++++++++++++--------
> >   3 files changed, 245 insertions(+), 113 deletions(-)
> > 
> > diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
> > index a1d30c488b..fc8a5751f1 100644
> > --- a/doc/guides/nics/cxgbe.rst
> > +++ b/doc/guides/nics/cxgbe.rst
> > @@ -838,3 +838,31 @@ to configure the mtu of all the ports with a single 
> > command.
> >        testpmd> port stop all
> >        testpmd> port config all max-pkt-len 9000
> > +
> > +Hardware Configuration and Debugging
> > +------------------------------------
> > +
> > +Firmware Configuration File
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +To enable or disable Chelsio NIC features before firmware initialization,
> > +the Chelsio firmware configuration file can be placed in following
> > +directory. The CXGBE PMD will search and pick up the firmware
> > +configuration file during the Chelsio NIC probe, before initializing
> > +the firmware.
> > +
> 
> Does it worth to mention what happens if the FW config file doesn't exist?
> Or mention from FW config file load order, as you described in mail list, to
> understand the relation with 'cxgbtool'?
> 

Will do.

> > +.. code-block:: console
> > +
> > +   cp <path_to_config_file>/t6-config.txt /lib/firmware/cxgb4/t6-config.txt
> > +
> 
> There is also 't5-config.txt' in the code.
> 

Yes, t5-config.txt is for Chelsio T5 NIC series and t6-config.txt
is for Chelsio T6 NIC series. Will update t5-config.txt as well.

> > +The firmware configuration file is mainly intended to be used to debug
> > +firmware initialization failures. It can also be used to redistribute
> > +NIC resources from disabled physical functions (PFs) to main PF before
> > +initializing firmware.
> > +
> > +.. warning::
> > +
> > +   Note that the Chelsio firmware configuration file contains very low
> > +   level details that is specific to the Chelsio NIC. Hence, the
> > +   firmware configuration file must not be modified without expert
> > +   guidance from Chelsio support team.
> 
> Will it be too much detail to document what config can be changed via this
> FW config?
> 

Yes, this will be difficult to document. The config file just looks like
register=value pairs and are often dependent on each other based on
the selected configuration. A portion of sample config file is given
below. I'm not sure how to document this kind of info.

[global]
    reg[0x100c] = 0x22222222
    reg[0x10a0] = 0x01040810
    reg[0x1044] = 4096
    reg[0x1048] = 65536
    reg[0x104c] = 1536
    reg[0x1050] = 9024
    reg[0x1054] = 9216
    reg[0x1058] = 2048
    reg[0x105c] = 128
    reg[0x1060] = 8192
    reg[0x1064] = 16384
[...]

Thanks,
Rahul

Reply via email to