On Fri, 5 Jul 2019 08:22:41 +0000, Sudarsana Reddy Kalluru wrote:
> > On Thu, 4 Jul 2019 06:20:11 -0700, Sudarsana Reddy Kalluru wrote:  
> > > This patch adds implementation for devlink callbacks for reading and
> > > configuring the device attributes.
> > >
> > > Signed-off-by: Sudarsana Reddy Kalluru <skall...@marvell.com>
> > > Signed-off-by: Ariel Elior <ael...@marvell.com>

> > > diff --git a/Documentation/networking/devlink-params-qede.txt
> > > b/Documentation/networking/devlink-params-qede.txt
> > > new file mode 100644
> > > index 0000000..f78a993
> > > --- /dev/null
> > > +++ b/Documentation/networking/devlink-params-qede.txt
> > > @@ -0,0 +1,72 @@
> > > +enable_sriov             [DEVICE, GENERIC]
> > > +                 Configuration mode: Permanent
> > > +
> > > +iwarp_cmt                [DEVICE, DRIVER-SPECIFIC]
> > > +                 Enable iWARP support over 100G device (CMT mode).  
> > > +                 Type: Boolean
> > > +                 Configuration mode: runtime
> > > +
> > > +entity_id                [DEVICE, DRIVER-SPECIFIC]
> > > +                 Set the entity ID value to be used for this device
> > > +                 while reading/configuring the devlink attributes.
> > > +                 Type: u8
> > > +                 Configuration mode: runtime  
> > 
> > Can you explain what this is?  
>
> Hardware/mfw provides the option to modify/read the config of other
> PFs. A non-zero entity id represents a partition number (or simply a
> PF-id) for which the config need to be read/updated.

Having a parameter which changes the interpretation of other parameters
makes me quite uncomfortable :(  Could it be a better idea, perhaps, to
use PCI ports?  We have been discussing PCI ports for a while now, and
they will probably become a reality soon.  You could then hang the
per-PF parameters off of the PF ports rather than the device instance? 

> > > +device_capabilities      [DEVICE, DRIVER-SPECIFIC]
> > > +                 Set the entity ID value to be used for this device
> > > +                 while reading/configuring the devlink attributes.
> > > +                 Type: u8
> > > +                 Configuration mode: runtime  
> > 
> > Looks like you copied the previous text here.  
> Will update it, thanks.
> 
> >   
> > > +mf_mode                  [DEVICE, DRIVER-SPECIFIC]
> > > +                 Configure Multi Function mode for the device.
> > > +                 Supported MF modes and the assoicated values are,
> > > +                     MF allowed(0), Default(1), SPIO4(2), NPAR1.0(3),
> > > +                     NPAR1.5(4), NPAR2.0(5), BD(6) and UFP(7)  
> > 
> > NPAR should have a proper API in devlink port, what are the other modes?
> >   
> These are the different modes supported by the Marvell NIC. In our
> case the mf_mode is per adapter basis, e.g., it's not possible to
> configure one port in NPAR mode and the other in Default mode.

Jiri, what are your thoughts on the NPAR support?  It is effectively a
PCI split.  If we are going to support mdev split, should we perhaps
have a "depth" or "type" of split and allow for users to configure it
using the same API?

> > > +                 Type: u8
> > > +                 Configuration mode: Permanent
> > > +
> > > +dcbx_mode                [PORT, DRIVER-SPECIFIC]
> > > +                 Configure DCBX mode for the device.
> > > +                 Supported dcbx modes are,
> > > +                     Disabled(0), IEEE(1), CEE(2) and
> > > Dynamic(3)
> > > +                 Type: u8
> > > +                 Configuration mode: Permanent  
> > 
> > Why is this a permanent parameter?
> >   
> This specifies the dcbx_mode to be configured in non-volatile memory.
> The value is persistent and is used in the next load of OS or the mfw.

And it can't be changed at runtime?

Reply via email to