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.tumm...@amd.com>
---
 config/rte_config.h                | 3 +++
 drivers/event/sw/sw_evdev_worker.c | 5 +++++
 2 files changed, 8 insertions(+)

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;
 }
 
-- 
2.34.1

Reply via email to