From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shreyansh.jain@nxp.com>
Received: from NAM02-CY1-obe.outbound.protection.outlook.com
 (mail-cys01nam02on0042.outbound.protection.outlook.com [104.47.37.42])
 by dpdk.org (Postfix) with ESMTP id 6CD8B1B2B1
 for <dev@dpdk.org>; Sat,  9 Sep 2017 13:11:48 +0200 (CEST)
Received: from BN6PR03CA0092.namprd03.prod.outlook.com (10.164.122.158) by
 BN3PR03MB2259.namprd03.prod.outlook.com (10.166.74.20) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id
 15.20.35.12; Sat, 9 Sep 2017 11:11:47 +0000
Received: from BY2FFO11FD009.protection.gbl (2a01:111:f400:7c0c::104) by
 BN6PR03CA0092.outlook.office365.com (2603:10b6:405:6f::30) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.35.12 via
 Frontend Transport; Sat, 9 Sep 2017 11:11:47 +0000
Authentication-Results: spf=fail (sender IP is 192.88.168.50)
 smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)
 header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; 
 client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;
Received: from tx30smr01.am.freescale.net (192.88.168.50) by
 BY2FFO11FD009.mail.protection.outlook.com (10.1.14.73) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11
 via Frontend Transport; Sat, 9 Sep 2017 11:11:46 +0000
Received: from Tophie.ap.freescale.net ([10.232.14.39])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v89BAUhe026326;
 Sat, 9 Sep 2017 04:11:44 -0700
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <dev@dpdk.org>
CC: <ferruh.yigit@intel.com>, <hemant.agrawal@nxp.com>
Date: Sat, 9 Sep 2017 16:51:31 +0530
Message-ID: <20170909112132.13936-41-shreyansh.jain@nxp.com>
X-Mailer: git-send-email 2.9.3
In-Reply-To: <20170909112132.13936-1-shreyansh.jain@nxp.com>
References: <20170823141213.25476-1-shreyansh.jain@nxp.com>
 <20170909112132.13936-1-shreyansh.jain@nxp.com>
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131494291067916706;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(979002)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(8936002)(8656003)(86362001)(50226002)(36756003)(1076002)(104016004)(356003)(305945005)(110136004)(50986999)(77096006)(76176999)(50466002)(8676002)(68736007)(48376002)(85426001)(5660300001)(5003940100001)(54906002)(105606002)(97736004)(4326008)(33646002)(2950100002)(47776003)(189998001)(106466001)(6666003)(2906002)(2351001)(53936002)(498600001)(81156014)(6916009)(81166006)(969003)(989001)(999001)(1009001)(1019001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2259; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD009;
 1:SJTw3Xi9FqwBi4o1zkIO1gYPju0DZp1J1pEQC3zJaXQ7aPauflVrMJZQNtDav3uRQX3/5Cy6/9Lgmhy01j6J0D1nRK79Ty1RWN7HHMifxjqwUX7N21jNYJPRl7n1hrD+
MIME-Version: 1.0
Content-Type: text/plain
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d8ef5bf-58c4-4f59-e539-08d4f7738f79
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);
 SRVR:BN3PR03MB2259; 
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2259;
 3:rJrpmjnByzL+QQe1AmDYwOEg8T34iFbtr0e5RFhzrNlxG/iZ9NUST7oFgLY5FmKb59qq6BRpkVImtWv16EOydYYwoB4PP804vwSnRbxtzfMkXF3wAuRWc5u0mIozOhgWw6OxR2nJxZxSejGVBowvKzL52XbSgwCW1e2j/td9W39lR+rSUdQmABRHE0izRS+Tlr0vtqJNC3EIzxYj2RviQQj1pC2GyG5NOSAPTAzEVzkyw6bJcM3A8TS02x4H48e//7s5OeAl4Ra4h4HVNE96X+RhJqsID2k/NGQ2pmqmHV8mTM4VwaWSK665SvSQpXexnR+JCqEJ1H3G7esMR5HDPlj3/XNnTLJ/3JrwX5oALsA=;
 25:/MboSyexF0Fqp3A+HsHk9eMDI6Chl8HrkNFnA8f+NJgvs/+7Krn/Vii+exnTENHXoMR0WvOfVb9Dl3SEGhzABTNLNCUpT1dn7f2qIJHzRDYO0aira1m1RpFPyITrgrxhlWZFBqJXMrtWhQsFNQ2LpQZdqrFysQBbR4ozHtxgR6F1rhdrzA3nEdz2DRFd3rexT/XwBCfZWFDdiZS4bmcCPTjBcW7J8ly5ftYrtT4aSRj905lvQ6EsL3gTrBR/gv87ZjGod04yZBk4d6V6f+1SskHq4LmpfxGJz854UJL9iydroI2gwzAkwfd+pb+RhJZ0lxEEnWTX/kaWHI4uNsxUVQ==
X-MS-TrafficTypeDiagnostic: BN3PR03MB2259:
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2259;
 31:UOwfJe2jcQgVMq6JAXn/Ppxlub0b8B5FhaA1IABvpgD4u4yuohSP3f9Y+FZsqbE1QyeMHC+gmJTzyLxFDoaDiMdyjgHytaOWUuWJVf1gmABFh3Qn1l4Hq2DMuSrXGzrobFQscZz0cRUF+JS7WKo8ivq0v1OliQMhFFxWCFyHotaP8IdPzpHc/VIaFpaYIeP/UahJGI4Jof0a/C6X4EK6tRGd2WfAq9ge9zAZggwvkY8=;
 4:Rh8z3lXOBP9JkGWtUUKdbmRffx79e3SHfhmtrWPeU+gxIn6/+Hxm/TynZq4QbnVqs4JB/LYkLbZHRwNm1KYdNcRqQ/HWCAc4zCIjGYGV867GKKTIFtCMc9+rAqyRNKF19JSAZkN/SiF4gTtYoxuoaflOcsgSH1wHfKshiimW4AeXe1v1ZKEB2ODiXzu/XhESfJM5aXUQOBby+0nRCiBBAG3hWkBud4zhRDOvHR91AU/4bGhJQmElndO6J+wFi+LeSEIZQA0eKaWmjJC1kLZM2zQHsGj8KuPBbdOBYi2TwiU=
X-Exchange-Antispam-Report-Test: UriScan:(185117386973197);
X-Microsoft-Antispam-PRVS: <BN3PR03MB2259DA0DF06524E65388201B906A0@BN3PR03MB2259.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6096035)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123563025)(20161123561025)(20161123565025)(20161123559100)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:BN3PR03MB2259; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:BN3PR03MB2259; 
X-Forefront-PRVS: 0425A67DEF
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR03MB2259;
 23:PSPywc5K01TXkLVqWmqZg7tVqBU36qtzTAIkuRi+g?=
 =?us-ascii?Q?NYYwTrOxGee+3yDiUktrNRVDXyw1o59rfRc9BvgbGYptt2F9sdM52CACFbQ7?=
 =?us-ascii?Q?WtDvRg/ejNx3iyO0LivH3MlgbO/gjjfNTlQ0W801wGnldR/omzVgtZyZFG2B?=
 =?us-ascii?Q?H5SWfmKSAcoDMof8OxBejmu64uyKqDugwUkJLZuDcpfFIYOiEPbvNIX3/30D?=
 =?us-ascii?Q?XvB0JWGqMNxxbt5xJiqrknXdXTtiwsXzQq1B6tnHzSwFH9BAu+Vuo4MZWw/h?=
 =?us-ascii?Q?5UUidx4U+5hbY7lzIlLLXsHxeR+JaHI7Pn+SGpVfPbdCqcULmLmPL8Tq8vWH?=
 =?us-ascii?Q?jmaZS9S4NYYD9d1QS2noKNlZwk1zi+WueRq7FWyntoOnwaQ4nosZm+nUnTve?=
 =?us-ascii?Q?IrUYX7wiTAoi1PhjnB7CuNJ6wq/gs8fJ+7yiJhXC5jyYEZC6jn3smzZtqFCx?=
 =?us-ascii?Q?DytaDFLc1+7B665U6uUKcZuYgM24hHrPGVsI7wc+z8pyzxLHNipfBVFj4VqM?=
 =?us-ascii?Q?iORMC6yQATBaNS6pg6P/KObVQzdloblRbmeLLfLtH+2aU/dRP5q5FpaTPP8i?=
 =?us-ascii?Q?K2BBK6OdiomCs3oBiMP8vKacBmtICFox32CxSR6LmdZeP/mohOvV/sK2Cm2i?=
 =?us-ascii?Q?nEV9mDG9RdUB4i4GoSEhu/X6m4nxM4eR/7EJZjPZ8jK5n1Hwz48fBDnJZnWu?=
 =?us-ascii?Q?PS6Qg1DZX93R2oZKzfgNrCjtT/CYFCzwXZ4Fpk21rX+qPaehu1C0vqo6WhQA?=
 =?us-ascii?Q?KD8FIEVlgpSPfAuUphERo5m3cDo2mHS6jKLXL7vJYIGG/f9+gHsc+0shCC2v?=
 =?us-ascii?Q?I2QYUR3AvQTQz0ys9RCEcKsQ15pRra71uxZ+zxhtWQ5rW7PCSsOZgX3Os5IJ?=
 =?us-ascii?Q?gld5B9Orl40gv2wzrFKSzejDRl0aN4WJm1m6gmcHZLv8h0I2xYECwNjs9o1C?=
 =?us-ascii?Q?GDCd6MrkfYlZl8K59OnNz9Y7dYG8BL4puFV+OgPszd+aa1WjeFRvfRJkY8gk?=
 =?us-ascii?Q?/XEC5G0qTtnOXc2DnUabitsThDFxzpsiPAClVrdYg8g+6yC2Vv0ISMcj27Et?=
 =?us-ascii?Q?ppvhAWqqF9B46Nam3jDla8mM+59MyJAgZ3WVgDnbTD7vEFhMfbM8gxvODp8W?=
 =?us-ascii?Q?D5yJqGQZlyH2RTrvtZ0oDvn9nJGNQzRIMtXexzyYOa5c2YHm/GoHujDZRu/Y?=
 =?us-ascii?Q?suvgv1FdCEw/8GmIezl2L+mnT+sjhZt26dH2XVbwoq00b1uLINi/OSpOg=3D?=
 =?us-ascii?Q?=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2259;
 6:APHW81UBqfwzha7ULjWmwHfQLbTsj2j7+waR0r5fInvu16wsxtreFT3yFbRNKfqn4e9U+kneuzbDEm/BjA+GKVbl5rFyuoPV/qBU+28y1VIvPrHAvnAsH6KFsL+GprQOOMcfdVhjUvHzG+iqPWK/Ccal0ihyhUoz8b/wVw96cclf3nwjHUsP3ZIjdaKSJ8611aJHAiXQhYQscpYAA/Bcq/j/T5GbEOfpRZxykpxDnZteex1WbQjFLoL6Zvwuadk4wNSNiO18+e2ef6exwQUQNx6nMYiUzfxdGj6r1A1Yi6ohtwQkJVi+keIQX+VcVnBY1MSTqfYv3l+JzHuVQkGoJw==;
 5:uV6ZJttaJ1192QgN8qvhLZf+8NqFVIyyFL4dnKyZZiXQcw7BDNbsuJMK4yU0L7HORSO1LJOONZslpfcnTX23iL/Saw7U9LaIOMLNI1VJd1+2MQBPXapgqmSEhFEvpRGBg7vGMoahfgC3Y3q45cGf3w==;
 24:aTaAb7GXi8FGum7SR94dJmfEOH8WBAvSJO0XIf23BDsC8ln5FFKA4T0lva/b6PWDoTtdjcIYzgL2zfZq2f0nzDygi1mLOBDPAuXhch6XUkw=;
 7:tFH7Uc5VkXwi1jolK8D1Hdm5A4THJzjXtPXLhPVKC+7/w5H0wKsJrBIlxlRng0QkLVbHg3k9pubXM9Uj9e78dTurtPNPJsckL9XArDea/r2RCoQBAtUlubJDW3Q+q2HAya2+KqJK5BPcy6Kw4O4et7ZRSo3tBnak6tib+dT2T9S+38GKf7PIwrqAhr13bBEoYxNR49eY0gBMxVAMEd3g4BcGaXrx0BrHMST99gshqDo=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2017 11:11:46.4484 (UTC)
X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50];
 Helo=[tx30smr01.am.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2259
Subject: [dpdk-dev] [PATCH v4 40/41] net/dpaa: support for firmware version
	get API
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: Sat, 09 Sep 2017 11:11:49 -0000

From: Hemant Agrawal <hemant.agrawal@nxp.com>

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 doc/guides/nics/features/dpaa.ini |  1 +
 drivers/net/dpaa/dpaa_ethdev.c    | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini
index 0e7956c..09b9bd9 100644
--- a/doc/guides/nics/features/dpaa.ini
+++ b/doc/guides/nics/features/dpaa.ini
@@ -18,5 +18,6 @@ L3 checksum offload  = Y
 L4 checksum offload  = Y
 Packet type parsing  = Y
 Basic stats          = Y
+FW version           = Y
 ARMv8                = Y
 Usage doc            = Y
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 3e3e091..22f56a4 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -164,6 +164,41 @@ static void dpaa_eth_dev_close(struct rte_eth_dev *dev)
 	dpaa_eth_dev_stop(dev);
 }
 
+static int
+dpaa_fw_version_get(struct rte_eth_dev *dev __rte_unused,
+		     char *fw_version,
+		     size_t fw_size)
+{
+	int ret;
+	FILE *svr_file = NULL;
+	unsigned int svr_ver = 0;
+
+	PMD_INIT_FUNC_TRACE();
+
+	svr_file = fopen("/sys/devices/soc0/soc_id", "r");
+	if (!svr_file) {
+		DPAA_PMD_ERR("Unable to open SoC device");
+		return -ENOTSUP; /* Not supported on this infra */
+	}
+
+	ret = fscanf(svr_file, "svr:%x", &svr_ver);
+	if (ret <= 0) {
+		DPAA_PMD_ERR("Unable to read SoC device");
+		return -ENOTSUP; /* Not supported on this infra */
+	}
+
+	ret = snprintf(fw_version, fw_size,
+		       "svr:%x-fman-v%x",
+		       svr_ver,
+		       fman_ip_rev);
+
+	ret += 1; /* add the size of '\0' */
+	if (fw_size < (uint32_t)ret)
+		return ret;
+	else
+		return 0;
+}
+
 static void dpaa_eth_dev_info(struct rte_eth_dev *dev,
 			      struct rte_eth_dev_info *dev_info)
 {
@@ -512,6 +547,7 @@ static struct eth_dev_ops dpaa_devops = {
 	.mac_addr_remove	  = dpaa_dev_remove_mac_addr,
 	.mac_addr_set		  = dpaa_dev_set_mac_addr,
 
+	.fw_version_get		  = dpaa_fw_version_get,
 };
 
 static int dpaa_fc_set_default(struct dpaa_if *dpaa_intf)
-- 
2.9.3