patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Naga Harish K S V <s.v.naga.harish.k@intel.com>
To: jerinj@marvell.com
Cc: dev@dpdk.org, jay.jayatheerthan@intel.com, stable@dpdk.org
Subject: [PATCH v3] eventdev/eth_tx: fix runtime parameter test
Date: Wed, 17 May 2023 05:35:51 -0500	[thread overview]
Message-ID: <20230517103551.3334611-1-s.v.naga.harish.k@intel.com> (raw)
In-Reply-To: <20230502055711.1133134-1-s.v.naga.harish.k@intel.com>

TX adapter capability check logic is simplified.
The UT has been updated to skip the test, if the API
to set runtime parameters is not supported.

Fixes: 1d176c7add08 ("eventdev/eth_tx: support runtime set/get parameters")
Cc: stable@dpdk.org

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
---
v3:
* address review comments in commit message
v2:
* update tx_adapter unit test
---
 app/test/test_event_eth_tx_adapter.c    | 11 ++++++---
 lib/eventdev/rte_event_eth_tx_adapter.c | 33 +++++--------------------
 2 files changed, 14 insertions(+), 30 deletions(-)

diff --git a/app/test/test_event_eth_tx_adapter.c b/app/test/test_event_eth_tx_adapter.c
index 4e1d821bf9..616c972ac0 100644
--- a/app/test/test_event_eth_tx_adapter.c
+++ b/app/test/test_event_eth_tx_adapter.c
@@ -800,13 +800,17 @@ tx_adapter_queue_start_stop(void)
 static int
 tx_adapter_set_get_params(void)
 {
-	int err;
+	int err, rc;
 	struct rte_event_eth_tx_adapter_runtime_params in_params;
 	struct rte_event_eth_tx_adapter_runtime_params out_params;
 
 	err = rte_event_eth_tx_adapter_queue_add(TEST_INST_ID,
 						 TEST_ETHDEV_ID,
 						 0);
+	if (err == -ENOTSUP) {
+		rc = TEST_SKIPPED;
+		goto skip;
+	}
 	TEST_ASSERT(err == 0, "Expected 0 got %d", err);
 
 	err = rte_event_eth_tx_adapter_runtime_params_init(&in_params);
@@ -916,13 +920,14 @@ tx_adapter_set_get_params(void)
 	TEST_ASSERT(in_params.flush_threshold == out_params.flush_threshold,
 		    "Expected %u got %u",
 		    in_params.flush_threshold, out_params.flush_threshold);
-
+	rc = TEST_SUCCESS;
+skip:
 	err = rte_event_eth_tx_adapter_queue_del(TEST_INST_ID,
 						 TEST_ETHDEV_ID,
 						 0);
 	TEST_ASSERT(err == 0, "Expected 0 got %d", err);
 
-	return TEST_SUCCESS;
+	return rc;
 }
 
 static int
diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
index 131e11e01d..360d5caf6a 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
@@ -1310,36 +1310,15 @@ rte_event_eth_tx_adapter_runtime_params_init(
 }
 
 static int
-txa_caps_check(uint8_t id, struct txa_service_data *txa)
+txa_caps_check(struct txa_service_data *txa)
 {
-	uint32_t caps = 0;
-	struct rte_eth_dev *eth_dev = NULL;
-	struct txa_service_ethdev *tdi;
-	int i;
-
 	if (!txa->dev_count)
 		return -EINVAL;
 
-	/* The eth_dev used is always the same type.
-	 * Hence first valid eth_dev is taken.
-	 */
-	for (i = 0; i < txa->dev_count; i++) {
-		tdi = &txa->txa_ethdev[i];
-		if (tdi->nb_queues) {
-			eth_dev = tdi->dev;
-			break;
-		}
-	}
-	if (eth_dev == NULL)
-		return -EINVAL;
-
-	if (txa_dev_caps_get(id))
-		txa_dev_caps_get(id)(txa_evdev(id), eth_dev, &caps);
-
-	if (caps & RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT)
-		return -ENOTSUP;
+	if (txa->service_id != TXA_INVALID_SERVICE_ID)
+		return 0;
 
-	return 0;
+	return -ENOTSUP;
 }
 
 int
@@ -1361,7 +1340,7 @@ rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
 	if (txa == NULL)
 		return -EINVAL;
 
-	ret = txa_caps_check(id, txa);
+	ret = txa_caps_check(txa);
 	if (ret)
 		return ret;
 
@@ -1392,7 +1371,7 @@ rte_event_eth_tx_adapter_runtime_params_get(uint8_t id,
 	if (txa == NULL)
 		return -EINVAL;
 
-	ret = txa_caps_check(id, txa);
+	ret = txa_caps_check(txa);
 	if (ret)
 		return ret;
 
-- 
2.23.0


       reply	other threads:[~2023-05-17 10:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230502055711.1133134-1-s.v.naga.harish.k@intel.com>
2023-05-17 10:35 ` Naga Harish K S V [this message]
2023-05-17 15:10   ` Jerin Jacob

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=20230517103551.3334611-1-s.v.naga.harish.k@intel.com \
    --to=s.v.naga.harish.k@intel.com \
    --cc=dev@dpdk.org \
    --cc=jay.jayatheerthan@intel.com \
    --cc=jerinj@marvell.com \
    --cc=stable@dpdk.org \
    /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).