From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ajit.khaparde@broadcom.com>
Received: from rnd-relay.smtp.broadcom.com (lpdvrndsmtp01.broadcom.com
 [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id B9F9D7CE1
 for <dev@dpdk.org>; Thu,  1 Jun 2017 19:07:44 +0200 (CEST)
Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net
 [10.75.224.233])
 by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id A02F230C028;
 Thu,  1 Jun 2017 10:07:43 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com A02F230C028
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com;
 s=dkimrelay; t=1496336863;
 bh=NoiHLBc3u40ZvQhi07/9aLTf1AMbDsm4vjyylRxJY38=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=rNXaF355AFq/nGVQWejWW3g2y9LLcwMvBHCaqFPyb6+OUyySQPW8lLWs9DB9BtI90
 SGM2Lru29fTPY9NZ8xfsd/a69/XZCHbL7ua1A6jOixSCXFjFW9PnSXPcawq6klIKJ9
 NJ5ztICKOf1CR+PsaRRrTt2wN2lBVUTAXTcMA5YE=
Received: from C02PT1RBG8WP.wifi.broadcom.net (c02pt1rbg8wp.wifi.broadcom.net
 [10.45.51.51])
 by mail-irv-17.broadcom.com (Postfix) with ESMTP id 465F181EB5;
 Thu,  1 Jun 2017 10:07:43 -0700 (PDT)
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com
Date: Thu,  1 Jun 2017 12:07:08 -0500
Message-Id: <20170601170723.48709-12-ajit.khaparde@broadcom.com>
X-Mailer: git-send-email 2.10.1 (Apple Git-78)
In-Reply-To: <20170601170723.48709-1-ajit.khaparde@broadcom.com>
References: <20170601030232.38677-1-ajit.khaparde@broadcom.com>
 <20170601170723.48709-1-ajit.khaparde@broadcom.com>
Subject: [dpdk-dev] [PATCH v4 11/26] net/bnxt: add support to get fw version
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Jun 2017 17:07:46 -0000

This patch adds support for fw_version_get dev_op

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

--
v1->v2: regroup related patches and incorporate other review comments

v2->v3:
  - rebasing to next-net tree
  - Use net/bnxt instead of just bnxt in patch subject
  - Avoid using dev_ops in the patch subject line
---
 doc/guides/nics/features/bnxt.ini |  1 +
 drivers/net/bnxt/bnxt_ethdev.c    | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/doc/guides/nics/features/bnxt.ini b/doc/guides/nics/features/bnxt.ini
index 9b3cd94..b1be3fd 100644
--- a/doc/guides/nics/features/bnxt.ini
+++ b/doc/guides/nics/features/bnxt.ini
@@ -16,6 +16,7 @@ RSS reta update      = Y
 Basic stats          = Y
 Extended stats       = Y
 SR-IOV               = Y
+FW version           = Y
 Linux VFIO           = Y
 Linux UIO            = Y
 x86-64               = Y
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index ef14fb9..e987732 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1356,6 +1356,25 @@ bnxt_dev_set_mc_addr_list_op(struct rte_eth_dev *eth_dev,
 	return bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic);
 }
 
+static int
+bnxt_fw_version_get(struct rte_eth_dev *dev, char *fw_version, size_t fw_size)
+{
+	struct bnxt *bp = (struct bnxt *)dev->data->dev_private;
+	uint8_t fw_major = (bp->fw_ver >> 24) & 0xff;
+	uint8_t fw_minor = (bp->fw_ver >> 16) & 0xff;
+	uint8_t fw_updt = (bp->fw_ver >> 8) & 0xff;
+	int ret;
+
+	ret = snprintf(fw_version, fw_size, "%d.%d.%d",
+			fw_major, fw_minor, fw_updt);
+
+	ret += 1; /* add the size of '\0' */
+	if (fw_size < (uint32_t)ret)
+		return ret;
+	else
+		return 0;
+}
+
 /*
  * Initialization
  */
@@ -1395,6 +1414,7 @@ static const struct eth_dev_ops bnxt_dev_ops = {
 	.xstats_get = bnxt_dev_xstats_get_op,
 	.xstats_get_names = bnxt_dev_xstats_get_names_op,
 	.xstats_reset = bnxt_dev_xstats_reset_op,
+	.fw_version_get = bnxt_fw_version_get,
 	.set_mc_addr_list = bnxt_dev_set_mc_addr_list_op,
 };
 
-- 
2.10.1 (Apple Git-78)