[PATCH v2] eventdev/eth_tx: fix runtime parameter test
Naga Harish K S V
s.v.naga.harish.k at intel.com
Tue May 2 07:57:11 CEST 2023
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: 1d176c7add08581 ("eventdev/eth_tx: support runtime set/get parameters")
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k at intel.com>
---
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
More information about the dev
mailing list