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

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
>

      reply	other threads:[~2023-05-17 15:10 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
2023-05-17 15:10   ` Jerin Jacob [this message]

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=CALBAE1Nty9izbnFq26ab16MvFcuYyXK+7ByAXtbT2jbO1sQ7Vw@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=jay.jayatheerthan@intel.com \
    --cc=jerinj@marvell.com \
    --cc=s.v.naga.harish.k@intel.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).