DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] eventdev/rx_adapter: add event port get api
@ 2021-12-22  6:13 Naga Harish K S V
  2021-12-27  6:48 ` Jayatheerthan, Jay
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Naga Harish K S V @ 2021-12-22  6:13 UTC (permalink / raw)
  To: jay.jayatheerthan, jerinjacobk; +Cc: dev

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.harish.k@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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-23 15:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-22  6:13 [PATCH] eventdev/rx_adapter: add event port get api Naga Harish K S V
2021-12-27  6:48 ` Jayatheerthan, Jay
2022-01-21 10:25 ` Jerin Jacob
2022-01-22 17:07 ` [PATCH v2] " Naga Harish K S V
2022-01-22 17:14   ` [PATCH v3] eventdev/eth_rx: " Naga Harish K S V
2022-01-23 15:32     ` 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).