Looks good. Thanks for the patch.

Acked-by: Jay Jayatheerthan <jay.jayatheert...@intel.com>


> -----Original Message-----
> From: Naga Harish K, S V <s.v.naga.haris...@intel.com>
> Sent: Wednesday, December 22, 2021 11:44 AM
> To: Jayatheerthan, Jay <jay.jayatheert...@intel.com>; jerinjac...@gmail.com
> Cc: dev@dpdk.org
> Subject: [PATCH] eventdev/rx_adapter: add event port get api
> 
> This patch introduces new api for retrieving event port id
> of eth rx adapter.
> 
> Signed-off-by: Naga Harish K S V <s.v.naga.haris...@intel.com>
> ---
>  lib/eventdev/rte_event_eth_rx_adapter.c | 20 ++++++++++++++++++++
>  lib/eventdev/rte_event_eth_rx_adapter.h | 20 ++++++++++++++++++++
>  lib/eventdev/version.map                |  1 +
>  3 files changed, 41 insertions(+)
> 
> diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c 
> b/lib/eventdev/rte_event_eth_rx_adapter.c
> index 809416d9b7..fca2e38690 100644
> --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> @@ -3119,6 +3119,26 @@ rte_event_eth_rx_adapter_service_id_get(uint8_t id, 
> uint32_t *service_id)
>       return rx_adapter->service_inited ? 0 : -ESRCH;
>  }
> 
> +int
> +rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
> +{
> +     struct event_eth_rx_adapter *rx_adapter;
> +
> +     if (rxa_memzone_lookup())
> +             return -ENOMEM;
> +
> +     RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);
> +
> +     rx_adapter = rxa_id_to_adapter(id);
> +     if (rx_adapter == NULL || event_port_id == NULL)
> +             return -EINVAL;
> +
> +     if (rx_adapter->service_inited)
> +             *event_port_id = rx_adapter->event_port_id;
> +
> +     return rx_adapter->service_inited ? 0 : -ESRCH;
> +}
> +
>  int
>  rte_event_eth_rx_adapter_cb_register(uint8_t id,
>                                       uint16_t eth_dev_id,
> diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h 
> b/lib/eventdev/rte_event_eth_rx_adapter.h
> index 9546d792e9..1364eafe38 100644
> --- a/lib/eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/eventdev/rte_event_eth_rx_adapter.h
> @@ -37,6 +37,7 @@
>   *  - rte_event_eth_rx_adapter_queue_conf_get()
>   *  - rte_event_eth_rx_adapter_queue_stats_get()
>   *  - rte_event_eth_rx_adapter_queue_stats_reset()
> + *  - rte_event_eth_rx_adapter_event_port_get()
>   *
>   * The application creates an ethernet to event adapter using
>   * rte_event_eth_rx_adapter_create_ext() or rte_event_eth_rx_adapter_create()
> @@ -684,6 +685,25 @@ rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id,
>               uint16_t eth_dev_id,
>               uint16_t rx_queue_id);
> 
> +/**
> + * Retrieve the event port ID of an adapter. If the adapter doesn't use
> + * a rte_service function, this function returns -ESRCH.
> + *
> + * @param id
> + *  Adapter identifier.
> + *
> + * @param [out] event_port_id
> + *  A pointer to a uint32_t, to be filled in with the port id.
> + *
> + * @return
> + *  - 0: Success
> + *  - <0: Error code on failure, if the adapter doesn't use a rte_service
> + * function, this function returns -ESRCH.
> + */
> +__rte_experimental
> +int
> +rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
> +
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map
> index ade1f1182e..91d2b5723b 100644
> --- a/lib/eventdev/version.map
> +++ b/lib/eventdev/version.map
> @@ -102,6 +102,7 @@ EXPERIMENTAL {
> 
>       # added in 21.11
>       rte_event_eth_rx_adapter_create_with_params;
> +     rte_event_eth_rx_adapter_event_port_get;
>       rte_event_eth_rx_adapter_queue_conf_get;
>       rte_event_eth_rx_adapter_queue_stats_get;
>       rte_event_eth_rx_adapter_queue_stats_reset;
> --
> 2.25.1

Reply via email to