* [PATCH v3] eventdev/eth_tx: fix runtime parameter test
[not found] <20230502055711.1133134-1-s.v.naga.harish.k@intel.com>
@ 2023-05-17 10:35 ` Naga Harish K S V
2023-05-17 15:10 ` Jerin Jacob
0 siblings, 1 reply; 2+ messages in thread
From: Naga Harish K S V @ 2023-05-17 10:35 UTC (permalink / raw)
To: jerinj; +Cc: dev, jay.jayatheerthan, stable
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v3] eventdev/eth_tx: fix runtime parameter test
2023-05-17 10:35 ` [PATCH v3] eventdev/eth_tx: fix runtime parameter test Naga Harish K S V
@ 2023-05-17 15:10 ` Jerin Jacob
0 siblings, 0 replies; 2+ messages in thread
From: Jerin Jacob @ 2023-05-17 15:10 UTC (permalink / raw)
To: Naga Harish K S V; +Cc: jerinj, dev, jay.jayatheerthan, stable
On Wed, May 17, 2023 at 4:06 PM Naga Harish K S V
<s.v.naga.harish.k@intel.com> wrote:
>
> 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
Applied to dpdk-next-net-eventdev/for-main. Thanks
> 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
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-05-17 15:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20230502055711.1133134-1-s.v.naga.harish.k@intel.com>
2023-05-17 10:35 ` [PATCH v3] eventdev/eth_tx: fix runtime parameter test Naga Harish K S V
2023-05-17 15:10 ` Jerin Jacob
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).