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 | expand |
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?
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.
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
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..
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 */