All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: dev@dpdk.org
Cc: Nipun Gupta <nipun.gupta@nxp.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>
Subject: [dpdk-dev] [PATCH 2/6] baseband/la12xx: add devargs for max queues
Date: Thu, 18 Mar 2021 12:04:17 +0530	[thread overview]
Message-ID: <20210318063421.14895-2-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <20210318063421.14895-1-hemant.agrawal@nxp.com>

This patch adds dev args to take  max queues as input

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/baseband/la12xx/bbdev_la12xx.c | 72 +++++++++++++++++++++++++-
 1 file changed, 70 insertions(+), 2 deletions(-)

diff --git a/drivers/baseband/la12xx/bbdev_la12xx.c b/drivers/baseband/la12xx/bbdev_la12xx.c
index b4c3000e9..b5a8f26ed 100644
--- a/drivers/baseband/la12xx/bbdev_la12xx.c
+++ b/drivers/baseband/la12xx/bbdev_la12xx.c
@@ -19,13 +19,72 @@
 
 RTE_LOG_REGISTER(bbdev_la12xx_logtype, pmd.bb.la12xx, NOTICE);
 
+/*  Initialisation params structure that can be used by LA12xx BBDEV driver */
+struct bbdev_la12xx_params {
+	uint8_t queues_num; /*< LA12xx BBDEV queues number */
+};
+
+#define BBDEV_LA12XX_MAX_NB_QUEUES_ARG  "max_nb_queues"
+
+static const char * const bbdev_la12xx_valid_params[] = {
+	BBDEV_LA12XX_MAX_NB_QUEUES_ARG,
+};
+
 /* private data structure */
 struct bbdev_la12xx_private {
 	unsigned int max_nb_queues;  /**< Max number of queues */
 };
+static inline int
+parse_u16_arg(const char *key, const char *value, void *extra_args)
+{
+	uint16_t *u16 = extra_args;
+
+	unsigned int long result;
+	if ((value == NULL) || (extra_args == NULL))
+		return -EINVAL;
+	errno = 0;
+	result = strtoul(value, NULL, 0);
+	if ((result >= (1 << 16)) || (errno != 0)) {
+		BBDEV_LA12XX_PMD_ERR("Invalid value %lu for %s", result, key);
+		return -ERANGE;
+	}
+	*u16 = (uint16_t)result;
+	return 0;
+}
+
+/* Parse parameters used to create device */
+static int
+parse_bbdev_la12xx_params(struct bbdev_la12xx_params *params,
+		const char *input_args)
+{
+	struct rte_kvargs *kvlist = NULL;
+	int ret = 0;
+
+	if (params == NULL)
+		return -EINVAL;
+	if (input_args) {
+		kvlist = rte_kvargs_parse(input_args,
+				bbdev_la12xx_valid_params);
+		if (kvlist == NULL)
+			return -EFAULT;
+
+		ret = rte_kvargs_process(kvlist, bbdev_la12xx_valid_params[0],
+					&parse_u16_arg, &params->queues_num);
+		if (ret < 0)
+			goto exit;
+
+	}
+
+exit:
+	if (kvlist)
+		rte_kvargs_free(kvlist);
+	return ret;
+}
+
 /* Create device */
 static int
-la12xx_bbdev_create(struct rte_vdev_device *vdev)
+la12xx_bbdev_create(struct rte_vdev_device *vdev,
+		struct bbdev_la12xx_params *init_params)
 {
 	struct rte_bbdev *bbdev;
 	const char *name = rte_vdev_device_name(vdev);
@@ -62,7 +121,11 @@ la12xx_bbdev_create(struct rte_vdev_device *vdev)
 static int
 la12xx_bbdev_probe(struct rte_vdev_device *vdev)
 {
+	struct bbdev_la12xx_params init_params = {
+		RTE_BBDEV_DEFAULT_MAX_NB_QUEUES
+	};
 	const char *name;
+	const char *input_args;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -73,7 +136,10 @@ la12xx_bbdev_probe(struct rte_vdev_device *vdev)
 	if (name == NULL)
 		return -EINVAL;
 
-	return la12xx_bbdev_create(vdev);
+	input_args = rte_vdev_device_args(vdev);
+	parse_bbdev_la12xx_params(&init_params, input_args);
+
+	return la12xx_bbdev_create(vdev, &init_params);
 }
 
 /* Uninitialise device */
@@ -107,4 +173,6 @@ static struct rte_vdev_driver bbdev_la12xx_pmd_drv = {
 };
 
 RTE_PMD_REGISTER_VDEV(DRIVER_NAME, bbdev_la12xx_pmd_drv);
+RTE_PMD_REGISTER_PARAM_STRING(DRIVER_NAME,
+	BBDEV_LA12XX_MAX_NB_QUEUES_ARG"=<int>");
 RTE_PMD_REGISTER_ALIAS(DRIVER_NAME, bbdev_la12xx);
-- 
2.17.1


  reply	other threads:[~2021-03-18  6:35 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-18  6:34 [dpdk-dev] [PATCH 1/6] baseband: introduce NXP LA12xx driver Hemant Agrawal
2021-03-18  6:34 ` Hemant Agrawal [this message]
2021-03-18  6:34 ` [dpdk-dev] [PATCH 3/6] baseband/la12xx: add support for multiple modems Hemant Agrawal
2021-03-18  6:34 ` [dpdk-dev] [PATCH 4/6] baseband/la12xx: add queue and modem config support Hemant Agrawal
2021-03-18  6:34 ` [dpdk-dev] [PATCH 5/6] baseband/la12xx: add enqueue and dequeue support Hemant Agrawal
2021-03-18  6:34 ` [dpdk-dev] [PATCH 6/6] baseband/la12xx: add documentation support Hemant Agrawal
2021-03-18 14:53 ` [dpdk-dev] [PATCH 1/6] baseband: introduce NXP LA12xx driver David Marchand
2021-03-19  5:54   ` Hemant Agrawal
2021-04-08  8:55     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-04-08  8:57       ` Hemant Agrawal
2021-04-08 15:29       ` Chautru, Nicolas
2021-04-10 17:02 ` [dpdk-dev] [PATCH v2 0/8] baseband: add " Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 1/8] baseband: introduce " Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 2/8] baseband/la12xx: add devargs for max queues Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 3/8] baseband/la12xx: add support for multiple modems Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 4/8] baseband/la12xx: add queue and modem config support Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 5/8] baseband/la12xx: add enqueue and dequeue support Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 6/8] baseband/la12xx: add documentation support Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 7/8] app/bbdev: add parameter to take input in network order Hemant Agrawal
2021-04-12  7:22     ` David Marchand
2021-04-12  7:29       ` Hemant Agrawal
2021-04-10 17:02   ` [dpdk-dev] [PATCH v2 8/8] app/bbdev: add test vectors for transport blocks Hemant Agrawal
2021-04-13  5:17   ` [dpdk-dev] [PATCH v3 0/8] baseband: add NXP LA12xx driver Hemant Agrawal
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 1/8] baseband: introduce " Hemant Agrawal
2021-04-24 10:36       ` [dpdk-dev] [PATCH v4 0/8] baseband: add " Hemant Agrawal
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 1/8] bbdev: add network order data capability Hemant Agrawal
2021-04-24 21:59           ` Chautru, Nicolas
2021-04-25 16:14             ` Thomas Monjalon
2021-04-26 17:01           ` Dave Burley
2021-04-28 13:03             ` Hemant Agrawal
2021-04-28 13:34             ` Hemant Agrawal
2021-04-28 15:19               ` Chautru, Nicolas
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 2/8] baseband: introduce NXP LA12xx driver Hemant Agrawal
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 3/8] baseband/la12xx: add devargs for max queues Hemant Agrawal
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 4/8] baseband/la12xx: add support for multiple modems Hemant Agrawal
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 5/8] baseband/la12xx: add queue and modem config support Hemant Agrawal
2021-04-24 22:12           ` Chautru, Nicolas
2021-05-13 11:01             ` Nipun Gupta
2021-05-13 14:51               ` Chautru, Nicolas
2021-05-17 17:00                 ` Nipun Gupta
2021-05-17 17:53                   ` Chautru, Nicolas
2021-05-19 18:43                     ` Nipun Gupta
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 6/8] baseband/la12xx: add enqueue and dequeue support Hemant Agrawal
2021-04-24 10:36         ` [dpdk-dev] [PATCH v4 7/8] app/bbdev: enable la12xx for bbdev Hemant Agrawal
2021-04-24 10:37         ` [dpdk-dev] [PATCH v4 8/8] app/bbdev: add test vectors for transport blocks Hemant Agrawal
2021-04-24 22:05           ` Chautru, Nicolas
2021-05-05 12:31         ` [dpdk-dev] [EXT] [PATCH v4 0/8] baseband: add NXP LA12xx driver Akhil Goyal
2021-06-16 20:35           ` Akhil Goyal
2021-06-26  9:59             ` Hemant Agrawal
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 2/8] baseband/la12xx: add devargs for max queues Hemant Agrawal
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 3/8] baseband/la12xx: add support for multiple modems Hemant Agrawal
2021-04-14  0:02       ` Chautru, Nicolas
2021-04-14 12:10         ` Hemant Agrawal
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 4/8] baseband/la12xx: add queue and modem config support Hemant Agrawal
2021-04-14  0:41       ` Chautru, Nicolas
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 5/8] baseband/la12xx: add enqueue and dequeue support Hemant Agrawal
2021-04-14  0:53       ` Chautru, Nicolas
2021-04-14 12:06         ` Hemant Agrawal
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 6/8] baseband/la12xx: add documentation support Hemant Agrawal
2021-04-14  0:57       ` Chautru, Nicolas
2021-04-14 11:59         ` Hemant Agrawal
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 7/8] app/bbdev: add parameter to take input in network order Hemant Agrawal
2021-04-14  1:00       ` Chautru, Nicolas
2021-04-14 12:15         ` Nipun Gupta
2021-04-13  5:17     ` [dpdk-dev] [PATCH v3 8/8] app/bbdev: add test vectors for transport blocks Hemant Agrawal
2021-04-14  1:09       ` Chautru, Nicolas
2021-04-14 12:16         ` Nipun Gupta
2021-04-14 15:48           ` Chautru, Nicolas
2021-04-13 10:06     ` [dpdk-dev] [EXT] [PATCH v3 0/8] baseband: add NXP LA12xx driver Akhil Goyal
2021-09-12 12:15 ` [dpdk-dev] [PATCH v5 0/9] " Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 1/9] bbdev: add big endian processing data capability Nipun Gupta
2021-09-13 18:39     ` Chautru, Nicolas
2021-09-17  8:30       ` Nipun Gupta
2021-09-17 14:23         ` Chautru, Nicolas
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 2/9] baseband: introduce NXP LA12xx driver Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 3/9] baseband/la12xx: add devargs for max queues Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 4/9] baseband/la12xx: add support for multiple modems Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 5/9] baseband/la12xx: add queue and modem config support Nipun Gupta
2021-09-13 18:56     ` Chautru, Nicolas
2021-09-17  8:33       ` Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 6/9] baseband/la12xx: add enqueue and dequeue support Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 7/9] app/bbdev: enable la12xx for bbdev Nipun Gupta
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 8/9] app/bbdev: handle endianness of test data Nipun Gupta
2021-09-13 18:45     ` Chautru, Nicolas
2021-09-12 12:15   ` [dpdk-dev] [PATCH v5 9/9] app/bbdev: add test vectors for transport blocks Nipun Gupta
2021-09-13 19:01     ` Chautru, Nicolas
2021-09-17  8:37       ` Nipun Gupta
2021-09-17 14:20         ` Chautru, Nicolas
2021-09-24  4:37 ` [dpdk-dev] [PATCH v6 0/9] baseband: add NXP LA12xx driver nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 1/9] bbdev: add big endian processing data processing info nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 2/9] baseband: introduce NXP LA12xx driver nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 3/9] baseband/la12xx: add devargs for max queues nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 4/9] baseband/la12xx: add support for multiple modems nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 5/9] baseband/la12xx: add queue and modem config support nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 6/9] baseband/la12xx: add enqueue and dequeue support nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 7/9] app/bbdev: enable la12xx for bbdev nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 8/9] app/bbdev: handle endianness of test data nipun.gupta
2021-09-24  4:37   ` [dpdk-dev] [PATCH v6 9/9] app/bbdev: add test vectors for transport blocks nipun.gupta
2021-09-28  8:29 ` [dpdk-dev] [PATCH v7 0/9] baseband: add NXP LA12xx driver nipun.gupta
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 1/9] bbdev: add big endian processing data processing info nipun.gupta
2021-10-04 23:09     ` Chautru, Nicolas
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 2/9] baseband: introduce NXP LA12xx driver nipun.gupta
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 3/9] baseband/la12xx: add devargs for max queues nipun.gupta
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 4/9] baseband/la12xx: add support for multiple modems nipun.gupta
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 5/9] baseband/la12xx: add queue and modem config support nipun.gupta
2021-10-04 23:19     ` Chautru, Nicolas
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 6/9] baseband/la12xx: add enqueue and dequeue support nipun.gupta
2021-10-04 23:23     ` Chautru, Nicolas
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 7/9] app/bbdev: enable la12xx for bbdev nipun.gupta
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 8/9] app/bbdev: handle endianness of test data nipun.gupta
2021-10-04 23:38     ` Chautru, Nicolas
2021-09-28  8:29   ` [dpdk-dev] [PATCH v7 9/9] app/bbdev: add test vectors for transport blocks nipun.gupta
2021-10-04 23:31     ` Chautru, Nicolas
2021-10-06 11:31 ` [dpdk-dev] [PATCH v8 0/8] baseband: add NXP LA12xx driver nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 1/8] bbdev: add big endian processing data processing info nipun.gupta
2021-10-06 21:02     ` Chautru, Nicolas
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 2/8] baseband: introduce NXP LA12xx driver nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 3/8] baseband/la12xx: add devargs for max queues nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 4/8] baseband/la12xx: add support for multiple modems nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 5/8] baseband/la12xx: add queue and modem config support nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 6/8] baseband/la12xx: add enqueue and dequeue support nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 7/8] app/bbdev: enable la12xx for bbdev nipun.gupta
2021-10-06 11:31   ` [dpdk-dev] [PATCH v8 8/8] app/bbdev: handle endianness of test data nipun.gupta
2021-10-06 20:24     ` Chautru, Nicolas
2021-10-07  9:33 ` [dpdk-dev] [PATCH v9 0/8] baseband: add NXP LA12xx driver nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 1/8] bbdev: add device info related to data endianness assumption nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 2/8] baseband: introduce NXP LA12xx driver nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 3/8] baseband/la12xx: add devargs for max queues nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 4/8] baseband/la12xx: add support for multiple modems nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 5/8] baseband/la12xx: add queue and modem config support nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 6/8] baseband/la12xx: add enqueue and dequeue support nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 7/8] app/bbdev: enable la12xx for bbdev nipun.gupta
2021-10-07  9:33   ` [dpdk-dev] [PATCH v9 8/8] app/bbdev: handle endianness of test data nipun.gupta
2021-10-11  4:32 ` [dpdk-dev] [PATCH v10 0/8] baseband: add NXP LA12xx driver nipun.gupta
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 1/8] bbdev: add device info related to data endianness nipun.gupta
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 2/8] baseband: introduce NXP LA12xx driver nipun.gupta
2021-10-16 13:58     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 3/8] baseband/la12xx: add devargs for max queues nipun.gupta
2021-10-16 14:00     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 4/8] baseband/la12xx: add support for multiple modems nipun.gupta
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 5/8] baseband/la12xx: add queue and modem config support nipun.gupta
2021-10-16 14:13     ` [dpdk-dev] [EXT] " Akhil Goyal
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 6/8] baseband/la12xx: add enqueue and dequeue support nipun.gupta
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 7/8] app/bbdev: enable la12xx for bbdev nipun.gupta
2021-10-11  4:32   ` [dpdk-dev] [PATCH v10 8/8] app/bbdev: handle endianness of test data nipun.gupta
2021-10-17  6:53 ` [dpdk-dev] [PATCH v11 0/8] baseband: add NXP LA12xx driver nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 1/8] bbdev: add device info related to data endianness nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 2/8] baseband: introduce NXP LA12xx driver nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 3/8] baseband/la12xx: add devargs for max queues nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 4/8] baseband/la12xx: add support for multiple modems nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 5/8] baseband/la12xx: add queue and modem config support nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 6/8] baseband/la12xx: add enqueue and dequeue support nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 7/8] app/bbdev: enable la12xx for bbdev nipun.gupta
2021-10-17  6:53   ` [dpdk-dev] [PATCH v11 8/8] app/bbdev: handle endianness of test data nipun.gupta
2021-10-18 15:23   ` [dpdk-dev] [EXT] [PATCH v11 0/8] baseband: add NXP LA12xx driver Akhil Goyal
2021-10-18 18:08     ` Chautru, Nicolas
2021-10-18 18:13       ` Akhil Goyal

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=20210318063421.14895-2-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=nipun.gupta@nxp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.