[v3,net-next,1/5] devlink: Add macro for "fw.api" to info_get cb.
diff mbox series

Message ID 1585224155-11612-2-git-send-email-vasundhara-v.volam@broadcom.com
State Superseded
Delegated to: David Miller
Headers show
Series
  • bnxt_en: Updates to devlink info_get cb
Related show

Commit Message

Vasundhara Volam March 26, 2020, 12:02 p.m. UTC
Add definition and documentation for the new generic info "fw.api".
"fw.api" specifies the version of the software interfaces between
driver and overall firmware.

Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
v1->v2: Rename macro to "fw.api" from "drv.spec".
---
 Documentation/networking/devlink/devlink-info.rst | 6 ++++++
 include/net/devlink.h                             | 2 ++
 2 files changed, 8 insertions(+)

Comments

Jakub Kicinski March 26, 2020, 8:40 p.m. UTC | #1
On Thu, 26 Mar 2020 17:32:34 +0530 Vasundhara Volam wrote:
> Add definition and documentation for the new generic info "fw.api".
> "fw.api" specifies the version of the software interfaces between
> driver and overall firmware.
> 
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Jiri Pirko <jiri@mellanox.com>
> Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
> Signed-off-by: Michael Chan <michael.chan@broadcom.com>
> ---
> v1->v2: Rename macro to "fw.api" from "drv.spec".

I suggested "fw.mgmt.api", like Intel has. What else those this API
number covers beyond management? Do you negotiated descriptor formats
for the datapath?
Michael Chan March 26, 2020, 11:09 p.m. UTC | #2
On Thu, Mar 26, 2020 at 1:40 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Thu, 26 Mar 2020 17:32:34 +0530 Vasundhara Volam wrote:
> > Add definition and documentation for the new generic info "fw.api".
> > "fw.api" specifies the version of the software interfaces between
> > driver and overall firmware.
> >
> > Cc: Jakub Kicinski <kuba@kernel.org>
> > Cc: Jacob Keller <jacob.e.keller@intel.com>
> > Reviewed-by: Jiri Pirko <jiri@mellanox.com>
> > Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
> > Signed-off-by: Michael Chan <michael.chan@broadcom.com>
> > ---
> > v1->v2: Rename macro to "fw.api" from "drv.spec".
>
> I suggested "fw.mgmt.api", like Intel has. What else those this API
> number covers beyond management? Do you negotiated descriptor formats
> for the datapath?

To us, "management" firmware usually means firmware such as IPMI that
interfaces with the BMC.  Here, we're trying to convey the API between
the driver and the main firmware.  Yes, this main firmware also
"manages" things such as rings, MAC, the physical port, etc.  But
again, we want to distinguish it from the platform management type of
firmware.
Jacob Keller March 26, 2020, 11:39 p.m. UTC | #3
On 3/26/2020 4:09 PM, Michael Chan wrote:
> On Thu, Mar 26, 2020 at 1:40 PM Jakub Kicinski <kuba@kernel.org> wrote:
>>
>> On Thu, 26 Mar 2020 17:32:34 +0530 Vasundhara Volam wrote:
>>> Add definition and documentation for the new generic info "fw.api".
>>> "fw.api" specifies the version of the software interfaces between
>>> driver and overall firmware.
>>>
>>> Cc: Jakub Kicinski <kuba@kernel.org>
>>> Cc: Jacob Keller <jacob.e.keller@intel.com>
>>> Reviewed-by: Jiri Pirko <jiri@mellanox.com>
>>> Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
>>> Signed-off-by: Michael Chan <michael.chan@broadcom.com>
>>> ---
>>> v1->v2: Rename macro to "fw.api" from "drv.spec".
>>
>> I suggested "fw.mgmt.api", like Intel has. What else those this API
>> number covers beyond management? Do you negotiated descriptor formats
>> for the datapath?
> 
> To us, "management" firmware usually means firmware such as IPMI that
> interfaces with the BMC.  Here, we're trying to convey the API between
> the driver and the main firmware.  Yes, this main firmware also
> "manages" things such as rings, MAC, the physical port, etc.  But
> again, we want to distinguish it from the platform management type of
> firmware.
> 

Documentation for "fw.mgmt":

fw.mgmt
-------

Control unit firmware version. This firmware is responsible for house
keeping tasks, PHY control etc. but not the packet-by-packet data path
operation.

To me, platform management would need a new name, as the term "fw.mgmt"
has already been used by multiple drivers.

Thanks,
Jake
Jakub Kicinski March 26, 2020, 11:51 p.m. UTC | #4
On Thu, 26 Mar 2020 16:39:31 -0700 Jacob Keller wrote:
> On 3/26/2020 4:09 PM, Michael Chan wrote:
> > On Thu, Mar 26, 2020 at 1:40 PM Jakub Kicinski <kuba@kernel.org> wrote:  
> >>
> >> On Thu, 26 Mar 2020 17:32:34 +0530 Vasundhara Volam wrote:  
> >>> Add definition and documentation for the new generic info "fw.api".
> >>> "fw.api" specifies the version of the software interfaces between
> >>> driver and overall firmware.
> >>>
> >>> Cc: Jakub Kicinski <kuba@kernel.org>
> >>> Cc: Jacob Keller <jacob.e.keller@intel.com>
> >>> Reviewed-by: Jiri Pirko <jiri@mellanox.com>
> >>> Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
> >>> Signed-off-by: Michael Chan <michael.chan@broadcom.com>
> >>> ---
> >>> v1->v2: Rename macro to "fw.api" from "drv.spec".  
> >>
> >> I suggested "fw.mgmt.api", like Intel has. What else those this API
> >> number covers beyond management? Do you negotiated descriptor formats
> >> for the datapath?  
> > 
> > To us, "management" firmware usually means firmware such as IPMI that
> > interfaces with the BMC.  Here, we're trying to convey the API between
> > the driver and the main firmware.  Yes, this main firmware also
> > "manages" things such as rings, MAC, the physical port, etc.  But
> > again, we want to distinguish it from the platform management type of
> > firmware.
> >   
> 
> Documentation for "fw.mgmt":
> 
> fw.mgmt
> -------
> 
> Control unit firmware version. This firmware is responsible for house
> keeping tasks, PHY control etc. but not the packet-by-packet data path
> operation.
> 
> To me, platform management would need a new name, as the term "fw.mgmt"
> has already been used by multiple drivers.

Right, we already have:

fw.ncsi                                                                         
-------                                                                         
                                                                                
Version of the software responsible for supporting/handling the                 
Network Controller Sideband Interface.


Maybe something more broad is needed there, but let's keep mgmt's
meaning. I know this may not fit existing vendor nomenclature, but
that's kind of the point, we're trying to have common Linux naming..

Patch
diff mbox series

diff --git a/Documentation/networking/devlink/devlink-info.rst b/Documentation/networking/devlink/devlink-info.rst
index e5e5e89..650e2c0e3 100644
--- a/Documentation/networking/devlink/devlink-info.rst
+++ b/Documentation/networking/devlink/devlink-info.rst
@@ -150,6 +150,12 @@  fw
 Overall firmware version, often representing the collection of
 fw.mgmt, fw.app, etc.
 
+fw.api
+------
+
+Overall firmware interface specification version of the software interfaces
+between driver and firmware.
+
 fw.mgmt
 -------
 
diff --git a/include/net/devlink.h b/include/net/devlink.h
index 37230e2..d51482f 100644
--- a/include/net/devlink.h
+++ b/include/net/devlink.h
@@ -478,6 +478,8 @@  enum devlink_param_generic_id {
 
 /* Overall FW version */
 #define DEVLINK_INFO_VERSION_GENERIC_FW		"fw"
+/* Overall FW interface specification version */
+#define DEVLINK_INFO_VERSION_GENERIC_FW_API	"fw.api"
 /* Control processor FW version */
 #define DEVLINK_INFO_VERSION_GENERIC_FW_MGMT	"fw.mgmt"
 /* Data path microcode controlling high-speed packet processing */