DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
To: jerin.jacob@caviumnetworks.com,
	santosh.shukla@caviumnetworks.com, bruce.richardson@intel.com,
	harry.van.haaren@intel.com, gage.eads@intel.com,
	hemant.agrawal@nxp.com, nipun.gupta@nxp.com,
	liang.j.ma@intel.com
Cc: dev@dpdk.org, Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Subject: [dpdk-dev] [PATCH v2 06/11] event/octeontx: add selftest to device arguments
Date: Thu, 14 Dec 2017 20:31:33 +0530	[thread overview]
Message-ID: <20171214150138.25667-7-pbhagavatula@caviumnetworks.com> (raw)
In-Reply-To: <20171214150138.25667-1-pbhagavatula@caviumnetworks.com>

Add selftest as a device argument that can be enabled by suppling
'self_test=1' as a vdev parameter

	--vdev="event_octeontx,self_test=1"

The selftest is run after vdev creation is successfully
complete.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/event/octeontx/Makefile      |  2 +-
 drivers/event/octeontx/ssovf_evdev.c | 43 ++++++++++++++++++++++++++++++++++++
 drivers/event/octeontx/ssovf_evdev.h |  2 ++
 3 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
index 1ad638574..bf45133f7 100644
--- a/drivers/event/octeontx/Makefile
+++ b/drivers/event/octeontx/Makefile
@@ -42,7 +42,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
 
 LDLIBS += -lrte_eal -lrte_eventdev -lrte_mempool_octeontx
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf
+LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
 LDLIBS += -lrte_bus_vdev
 
 EXPORT_MAP := rte_pmd_octeontx_ssovf_version.map
diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
index 627f5d24b..593ab63ef 100644
--- a/drivers/event/octeontx/ssovf_evdev.c
+++ b/drivers/event/octeontx/ssovf_evdev.c
@@ -38,6 +38,7 @@
 #include <rte_eal.h>
 #include <rte_ethdev.h>
 #include <rte_event_eth_rx_adapter.h>
+#include <rte_kvargs.h>
 #include <rte_lcore.h>
 #include <rte_log.h>
 #include <rte_malloc.h>
@@ -592,6 +593,15 @@ ssovf_close(struct rte_eventdev *dev)
 	return 0;
 }
 
+static int
+ssovf_selftest(const char *key __rte_unused, const char *value,
+		void *opaque)
+{
+	int *flag = opaque;
+	*flag = !!atoi(value);
+	return 0;
+}
+
 /* Initialize and register event driver with DPDK Application */
 static const struct rte_eventdev_ops ssovf_ops = {
 	.dev_infos_get    = ssovf_info_get,
@@ -629,7 +639,14 @@ ssovf_vdev_probe(struct rte_vdev_device *vdev)
 	struct rte_eventdev *eventdev;
 	static int ssovf_init_once;
 	const char *name;
+	const char *params;
 	int ret;
+	int selftest = 0;
+
+	static const char *const args[] = {
+		SSOVF_SELFTEST_ARG,
+		NULL
+	};
 
 	name = rte_vdev_device_name(vdev);
 	/* More than one instance is not supported */
@@ -638,6 +655,30 @@ ssovf_vdev_probe(struct rte_vdev_device *vdev)
 		return -EINVAL;
 	}
 
+	params = rte_vdev_device_args(vdev);
+	if (params != NULL && params[0] != '\0') {
+		struct rte_kvargs *kvlist = rte_kvargs_parse(params, args);
+
+		if (!kvlist) {
+			ssovf_log_info(
+				"Ignoring unsupported paramss supplied '%s'",
+				name);
+		} else {
+			int ret = rte_kvargs_process(kvlist,
+					SSOVF_SELFTEST_ARG,
+					ssovf_selftest, &selftest);
+			if (ret != 0) {
+				ssovf_log_err(
+					"%s: Error in selftest",
+					name);
+				rte_kvargs_free(kvlist);
+				return ret;
+			}
+		}
+
+		rte_kvargs_free(kvlist);
+	}
+
 	eventdev = rte_event_pmd_vdev_init(name, sizeof(struct ssovf_evdev),
 				rte_socket_id());
 	if (eventdev == NULL) {
@@ -688,6 +729,8 @@ ssovf_vdev_probe(struct rte_vdev_device *vdev)
 			edev->max_event_ports);
 
 	ssovf_init_once = 1;
+	if (selftest)
+		test_eventdev_octeontx();
 	return 0;
 
 error:
diff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h
index 72a980447..018fbdfa5 100644
--- a/drivers/event/octeontx/ssovf_evdev.h
+++ b/drivers/event/octeontx/ssovf_evdev.h
@@ -117,6 +117,8 @@
 #define SSO_GRP_GET_PRIORITY              0x7
 #define SSO_GRP_SET_PRIORITY              0x8
 
+#define SSOVF_SELFTEST_ARG               ("selftest")
+
 /*
  * In Cavium OcteonTX SoC, all accesses to the device registers are
  * implictly strongly ordered. So, The relaxed version of IO operation is
-- 
2.14.1

  parent reply	other threads:[~2017-12-14 15:02 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-12 19:27 [dpdk-dev] [PATCH 1/7] event/octeontx: move eventdev octeontx test to driver Pavan Nikhilesh
2017-12-12 19:27 ` [dpdk-dev] [PATCH 2/7] event/octeontx: modify octeontx eventdev test Pavan Nikhilesh
2017-12-12 19:27 ` [dpdk-dev] [PATCH 3/7] event/octeontx: add selftest to device arguments Pavan Nikhilesh
2017-12-12 19:27 ` [dpdk-dev] [PATCH 4/7] event/sw: move eventdev sw test to driver Pavan Nikhilesh
2017-12-13 10:22   ` Van Haaren, Harry
2017-12-12 19:27 ` [dpdk-dev] [PATCH 5/7] event/sw: modify eventdev sw test Pavan Nikhilesh
2017-12-12 19:27 ` [dpdk-dev] [PATCH 6/7] event/sw: add selftest to device arguments Pavan Nikhilesh
2017-12-12 19:27 ` [dpdk-dev] [PATCH 7/7] doc: update eventdev documentation Pavan Nikhilesh
2017-12-13 13:48   ` Kovacevic, Marko
2017-12-13 10:19 ` [dpdk-dev] [PATCH 1/7] event/octeontx: move eventdev octeontx test to driver Van Haaren, Harry
2017-12-13 10:34   ` Bruce Richardson
2017-12-13 11:24     ` Pavan Nikhilesh Bhagavatula
2017-12-13 11:39       ` Bruce Richardson
2017-12-13 11:19   ` Pavan Nikhilesh Bhagavatula
2017-12-13 11:41     ` Bruce Richardson
2017-12-13 15:50       ` Pavan Nikhilesh Bhagavatula
2017-12-14 15:01 ` [dpdk-dev] [PATCH v2 00/11] eventdev: move eventdev pmd specific tests into the pmd dir Pavan Nikhilesh
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 01/11] eal: add common test assert macros Pavan Nikhilesh
2017-12-14 18:43     ` Ananyev, Konstantin
2017-12-15  9:04       ` Pavan Nikhilesh Bhagavatula
2017-12-15 10:58         ` Ananyev, Konstantin
2017-12-15 11:32           ` Pavan Nikhilesh Bhagavatula
2018-01-10 19:16             ` Jerin Jacob
2018-01-10 20:18               ` Thomas Monjalon
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 02/11] eventdev: add API to perform self test Pavan Nikhilesh
2017-12-19 15:45     ` Van Haaren, Harry
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 03/11] event/octeontx: move eventdev octeontx test to driver Pavan Nikhilesh
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 04/11] event/octeontx: modify octeontx eventdev test Pavan Nikhilesh
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 05/11] event/octeontx: update octeontx eventdev selftest ops Pavan Nikhilesh
2017-12-14 15:01   ` Pavan Nikhilesh [this message]
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 07/11] event/sw: move eventdev software test to driver Pavan Nikhilesh
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 08/11] event/sw: modify eventdev software test Pavan Nikhilesh
2017-12-19 15:44     ` Van Haaren, Harry
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 09/11] event/sw: update software eventdev selftest ops Pavan Nikhilesh
2017-12-19 15:46     ` Van Haaren, Harry
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 10/11] test: register eventdev selftest Pavan Nikhilesh
2017-12-19 15:27     ` Van Haaren, Harry
2017-12-19 18:44       ` Pavan Nikhilesh
2017-12-20 11:07         ` Van Haaren, Harry
2017-12-14 15:01   ` [dpdk-dev] [PATCH v2 11/11] doc: update eventdev documentation Pavan Nikhilesh
2017-12-25 19:17 ` [dpdk-dev] [PATCH v3 01/11] eal: add common test assert macros Pavan Nikhilesh
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 02/11] eventdev: add API to perform self test Pavan Nikhilesh
2018-01-08  9:56     ` Jerin Jacob
2018-01-08 10:34       ` Pavan Nikhilesh
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 03/11] event/octeontx: move eventdev octeontx test to driver Pavan Nikhilesh
2018-01-08  9:58     ` Jerin Jacob
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 04/11] event/octeontx: modify octeontx eventdev test Pavan Nikhilesh
2017-12-26 14:11     ` Neil Horman
2017-12-27  5:18       ` Pavan Nikhilesh
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 05/11] event/octeontx: update octeontx eventdev selftest ops Pavan Nikhilesh
2018-01-08 10:09     ` Jerin Jacob
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 06/11] event/octeontx: add selftest to device arguments Pavan Nikhilesh
2018-01-08 10:14     ` Jerin Jacob
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 07/11] event/sw: move eventdev software test to driver Pavan Nikhilesh
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 08/11] event/sw: modify eventdev software test Pavan Nikhilesh
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 09/11] event/sw: update software eventdev selftest ops Pavan Nikhilesh
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 10/11] test: register eventdev selftest Pavan Nikhilesh
2018-01-08  9:49     ` Jerin Jacob
2017-12-25 19:17   ` [dpdk-dev] [PATCH v3 11/11] doc: update eventdev documentation Pavan Nikhilesh
2018-01-08 11:17   ` [dpdk-dev] [PATCH v3 01/11] eal: add common test assert macros Jerin Jacob
2018-01-08 13:47 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 02/11] eventdev: add API to perform self test Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 03/11] event/octeontx: move eventdev octeontx test to driver Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 04/11] event/octeontx: modify octeontx eventdev test Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 05/11] event/octeontx: update octeontx eventdev selftest ops Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 06/11] event/octeontx: add selftest to device arguments Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 07/11] event/sw: move eventdev software test to driver Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 08/11] event/sw: modify eventdev software test Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 09/11] event/sw: update software eventdev selftest ops Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 10/11] test: register eventdev selftest Pavan Nikhilesh
2018-01-08 13:47   ` [dpdk-dev] [PATCH v4 11/11] doc: update eventdev documentation Pavan Nikhilesh
2018-01-10 20:20   ` [dpdk-dev] [PATCH v4 01/11] eal: add common test assert macros Thomas Monjalon
2018-01-11  7:11     ` Pavan Nikhilesh
2018-01-11 10:21 ` [dpdk-dev] [PATCH v5 " Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 02/11] eventdev: add API to perform self test Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 03/11] event/octeontx: move eventdev octeontx test to driver Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 04/11] event/octeontx: modify octeontx eventdev test Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 05/11] event/octeontx: update octeontx eventdev selftest ops Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 06/11] event/octeontx: add selftest to device arguments Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 07/11] event/sw: move eventdev software test to driver Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 08/11] event/sw: modify eventdev software test Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 09/11] event/sw: update software eventdev selftest ops Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 10/11] test: register eventdev selftest Pavan Nikhilesh
2018-01-11 10:21   ` [dpdk-dev] [PATCH v5 11/11] doc: update eventdev documentation Pavan Nikhilesh
2018-01-11 11:27     ` Jerin Jacob
2018-01-11 10:29   ` [dpdk-dev] [PATCH v5 01/11] eal: add common test assert macros Pavan Nikhilesh
2018-01-11 10:44     ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171214150138.25667-7-pbhagavatula@caviumnetworks.com \
    --to=pbhagavatula@caviumnetworks.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=gage.eads@intel.com \
    --cc=harry.van.haaren@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=liang.j.ma@intel.com \
    --cc=nipun.gupta@nxp.com \
    --cc=santosh.shukla@caviumnetworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).