lkml.org 
[lkml]   [2021]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 031/169] ice: Print the api_patch as part of the fw.mgmt.api
    Date
    From: Brett Creeley <brett.creeley@intel.com>

    [ Upstream commit b726ddf984a56a385c9df406a66c221f3a77c951 ]

    Currently when a user uses "devlink dev info", the fw.mgmt.api will be
    the major.minor numbers as shown below:

    devlink dev info pci/0000:3b:00.0
    pci/0000:3b:00.0:
    driver ice
    serial_number 00-01-00-ff-ff-00-00-00
    versions:
    fixed:
    board.id K91258-000
    running:
    fw.mgmt 6.1.2
    fw.mgmt.api 1.7 <--- No patch number included
    fw.mgmt.build 0xd75e7d06
    fw.mgmt.srev 5
    fw.undi 1.2992.0
    fw.undi.srev 5
    fw.psid.api 3.10
    fw.bundle_id 0x800085cc
    fw.app.name ICE OS Default Package
    fw.app 1.3.27.0
    fw.app.bundle_id 0xc0000001
    fw.netlist 3.10.2000-3.1e.0
    fw.netlist.build 0x2a76e110
    stored:
    fw.mgmt.srev 5
    fw.undi 1.2992.0
    fw.undi.srev 5
    fw.psid.api 3.10
    fw.bundle_id 0x800085cc
    fw.netlist 3.10.2000-3.1e.0
    fw.netlist.build 0x2a76e110

    There are many features in the driver that depend on the major, minor,
    and patch version of the FW. Without the patch number in the output for
    fw.mgmt.api debugging issues related to the FW API version is difficult.
    Also, using major.minor.patch aligns with the existing firmware version
    which uses a 3 digit value.

    Fix this by making the fw.mgmt.api print the major.minor.patch
    versions. Shown below is the result:

    devlink dev info pci/0000:3b:00.0
    pci/0000:3b:00.0:
    driver ice
    serial_number 00-01-00-ff-ff-00-00-00
    versions:
    fixed:
    board.id K91258-000
    running:
    fw.mgmt 6.1.2
    fw.mgmt.api 1.7.9 <--- patch number included
    fw.mgmt.build 0xd75e7d06
    fw.mgmt.srev 5
    fw.undi 1.2992.0
    fw.undi.srev 5
    fw.psid.api 3.10
    fw.bundle_id 0x800085cc
    fw.app.name ICE OS Default Package
    fw.app 1.3.27.0
    fw.app.bundle_id 0xc0000001
    fw.netlist 3.10.2000-3.1e.0
    fw.netlist.build 0x2a76e110
    stored:
    fw.mgmt.srev 5
    fw.undi 1.2992.0
    fw.undi.srev 5
    fw.psid.api 3.10
    fw.bundle_id 0x800085cc
    fw.netlist 3.10.2000-3.1e.0
    fw.netlist.build 0x2a76e110

    Fixes: ff2e5c700e08 ("ice: add basic handler for devlink .info_get")
    Signed-off-by: Brett Creeley <brett.creeley@intel.com>
    Tested-by: Gurucharan G <gurucharanx.g@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    Documentation/networking/devlink/ice.rst | 9 +++++----
    drivers/net/ethernet/intel/ice/ice_devlink.c | 3 ++-
    2 files changed, 7 insertions(+), 5 deletions(-)

    diff --git a/Documentation/networking/devlink/ice.rst b/Documentation/networking/devlink/ice.rst
    index a432dc419fa4..5d97cee9457b 100644
    --- a/Documentation/networking/devlink/ice.rst
    +++ b/Documentation/networking/devlink/ice.rst
    @@ -30,10 +30,11 @@ The ``ice`` driver reports the following versions
    PHY, link, etc.
    * - ``fw.mgmt.api``
    - running
    - - 1.5
    - - 2-digit version number of the API exported over the AdminQ by the
    - management firmware. Used by the driver to identify what commands
    - are supported.
    + - 1.5.1
    + - 3-digit version number (major.minor.patch) of the API exported over
    + the AdminQ by the management firmware. Used by the driver to
    + identify what commands are supported. Historical versions of the
    + kernel only displayed a 2-digit version number (major.minor).
    * - ``fw.mgmt.build``
    - running
    - 0x305d955f
    diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c
    index 7fe6e8ea39f0..64bea7659cf7 100644
    --- a/drivers/net/ethernet/intel/ice/ice_devlink.c
    +++ b/drivers/net/ethernet/intel/ice/ice_devlink.c
    @@ -63,7 +63,8 @@ static int ice_info_fw_api(struct ice_pf *pf, struct ice_info_ctx *ctx)
    {
    struct ice_hw *hw = &pf->hw;

    - snprintf(ctx->buf, sizeof(ctx->buf), "%u.%u", hw->api_maj_ver, hw->api_min_ver);
    + snprintf(ctx->buf, sizeof(ctx->buf), "%u.%u.%u", hw->api_maj_ver,
    + hw->api_min_ver, hw->api_patch);

    return 0;
    }
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-10-25 22:10    [W:4.135 / U:0.356 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site