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.haris...@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