acked-by: abhinandan.guj...@intel.com

> -----Original Message-----
> From: Ankur Dwivedi <adwiv...@marvell.com>
> Sent: Wednesday, October 7, 2020 10:56 AM
> To: dev@dpdk.org
> Cc: Gujjar, Abhinandan S <abhinandan.guj...@intel.com>; jer...@marvell.com;
> ano...@marvell.com; Ankur Dwivedi <adwiv...@marvell.com>
> Subject: [PATCH v3 1/3] test/event_crypto_adapter: return error with
> unsupported mode
> 
> The capability of a hardware event device should be checked before creating a
> event crypto adapter in a particular mode. The test case returns error if the
> mode is not supported.
> 
> Signed-off-by: Ankur Dwivedi <adwiv...@marvell.com>
> ---
>  app/test/test_event_crypto_adapter.c | 33 +++++++++++++++++++---------
>  1 file changed, 23 insertions(+), 10 deletions(-)
> 
> diff --git a/app/test/test_event_crypto_adapter.c
> b/app/test/test_event_crypto_adapter.c
> index 8d42462d8..3c64742b3 100644
> --- a/app/test/test_event_crypto_adapter.c
> +++ b/app/test/test_event_crypto_adapter.c
> @@ -750,15 +750,30 @@ configure_event_crypto_adapter(enum
> rte_event_crypto_adapter_mode mode)
>       uint32_t cap;
>       int ret;
> 
> +     ret = rte_event_crypto_adapter_caps_get(evdev, TEST_CDEV_ID,
> &cap);
> +     TEST_ASSERT_SUCCESS(ret, "Failed to get adapter capabilities\n");
> +
> +     /* Skip mode and capability mismatch check for SW eventdev */
> +     if (!(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
> +         !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> +         !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND))
> +             goto adapter_create;
> +
> +     if ((mode == RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) &&
> +         !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD))
> +             return -ENOTSUP;
> +
> +     if ((mode == RTE_EVENT_CRYPTO_ADAPTER_OP_NEW) &&
> +         !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW))
> +             return -ENOTSUP;
> +
> +adapter_create:
>       /* Create adapter with default port creation callback */
>       ret = rte_event_crypto_adapter_create(TEST_ADAPTER_ID,
> -                                           TEST_CDEV_ID,
> +                                           evdev,
>                                             &conf, mode);
>       TEST_ASSERT_SUCCESS(ret, "Failed to create event crypto adapter\n");
> 
> -     ret = rte_event_crypto_adapter_caps_get(TEST_ADAPTER_ID, evdev,
> &cap);
> -     TEST_ASSERT_SUCCESS(ret, "Failed to get adapter capabilities\n");
> -
>       if (cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND) {
>               ret =
> rte_event_crypto_adapter_queue_pair_add(TEST_ADAPTER_ID,
>                               TEST_CDEV_ID, TEST_CDEV_QP_ID,
> &response_info); @@ -813,6 +828,8 @@ test_crypto_adapter_conf(enum
> rte_event_crypto_adapter_mode mode)
>                       TEST_ASSERT(ret >= 0, "Failed to link queue %d "
>                                       "port=%u\n", qid,
>                                       params.crypto_event_port_id);
> +             } else {
> +                     return ret;
>               }
>               crypto_adapter_setup_done = 1;
>       }
> @@ -847,10 +864,8 @@ test_crypto_adapter_conf_op_forward_mode(void)
>       enum rte_event_crypto_adapter_mode mode;
> 
>       mode = RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD;
> -     TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode),
> -                             "Failed to config crypto adapter");
> 
> -     return TEST_SUCCESS;
> +     return test_crypto_adapter_conf(mode);
>  }
> 
>  static int
> @@ -859,10 +874,8 @@ test_crypto_adapter_conf_op_new_mode(void)
>       enum rte_event_crypto_adapter_mode mode;
> 
>       mode = RTE_EVENT_CRYPTO_ADAPTER_OP_NEW;
> -     TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode),
> -                             "Failed to config crypto adapter");
> 
> -     return TEST_SUCCESS;
> +     return test_crypto_adapter_conf(mode);
>  }
> 
> 
> --
> 2.28.0

Reply via email to