[v1,4/6] event/sw: support optional dequeue callbacks

Message ID 20231016205715.970999-4-sivaprasad.tummala@amd.com (mailing list archive)
State Changes Requested, archived
Delegated to: Jerin Jacob
Headers
Series [v1,1/6] eventdev: add power monitoring API on event port |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Sivaprasad Tummala Oct. 16, 2023, 8:57 p.m. UTC
  This patch adds support for an event dequeue callbacks when configured
to allow additional processing, power management (frequency scaling,
monitor/sleep etc.,) and soon.

Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
---
 config/rte_config.h                | 3 +++
 drivers/event/sw/sw_evdev_worker.c | 5 +++++
 2 files changed, 8 insertions(+)
  

Patch

diff --git a/config/rte_config.h b/config/rte_config.h
index 9036214013..b05a86a267 100644
--- a/config/rte_config.h
+++ b/config/rte_config.h
@@ -135,4 +135,7 @@ 
 /* DLB2 defines */
 // RTE_LIBRTE_PMD_DLB2_QUELL_STATS is not set
 
+/* Event/SW defines */
+#define RTE_EVENT_SW_DEQ_CALLBACKS 1
+
 #endif /* _RTE_CONFIG_H_ */
diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c
index 139c98cfe2..3a954b2385 100644
--- a/drivers/event/sw/sw_evdev_worker.c
+++ b/drivers/event/sw/sw_evdev_worker.c
@@ -5,6 +5,7 @@ 
 #include <rte_atomic.h>
 #include <rte_cycles.h>
 #include <rte_event_ring.h>
+#include <eventdev_pmd.h>
 
 #include "sw_evdev.h"
 
@@ -203,6 +204,10 @@  sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 	p->total_polls++;
 
 end:
+#ifdef RTE_EVENT_SW_DEQ_CALLBACKS
+	ndeq = rte_eventdev_pmd_dequeue_callback_process(p->sw->data->dev_id,
+			p->id, ev, ndeq);
+#endif
 	return ndeq;
 }