[dpdk-dev] [PATCH 5/5] event/octeontx: add enqueue fwd op variant

Jerin Jacob jerin.jacob at caviumnetworks.com
Thu Jun 29 16:19:56 CEST 2017


Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
---
 drivers/event/octeontx/ssovf_evdev.c  |  2 +-
 drivers/event/octeontx/ssovf_evdev.h  |  2 ++
 drivers/event/octeontx/ssovf_worker.c | 12 ++++++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
index 3cd0cd49d..eb349f60d 100644
--- a/drivers/event/octeontx/ssovf_evdev.c
+++ b/drivers/event/octeontx/ssovf_evdev.c
@@ -159,7 +159,7 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 	dev->enqueue       = ssows_enq;
 	dev->enqueue_burst = ssows_enq_burst;
 	dev->enqueue_new_burst = ssows_enq_new_burst;
-	dev->enqueue_forward_burst = ssows_enq_burst;
+	dev->enqueue_forward_burst = ssows_enq_fwd_burst;
 	dev->dequeue       = ssows_deq;
 	dev->dequeue_burst = ssows_deq_burst;
 
diff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h
index 47091a46e..3b8c23e3a 100644
--- a/drivers/event/octeontx/ssovf_evdev.h
+++ b/drivers/event/octeontx/ssovf_evdev.h
@@ -192,6 +192,8 @@ uint16_t ssows_enq_burst(void *port,
 		const struct rte_event ev[], uint16_t nb_events);
 uint16_t ssows_enq_new_burst(void *port,
 		const struct rte_event ev[], uint16_t nb_events);
+uint16_t ssows_enq_fwd_burst(void *port,
+		const struct rte_event ev[], uint16_t nb_events);
 uint16_t ssows_deq(void *port, struct rte_event *ev, uint64_t timeout_ticks);
 uint16_t ssows_deq_burst(void *port, struct rte_event ev[],
 		uint16_t nb_events, uint64_t timeout_ticks);
diff --git a/drivers/event/octeontx/ssovf_worker.c b/drivers/event/octeontx/ssovf_worker.c
index 5393febba..4d413d779 100644
--- a/drivers/event/octeontx/ssovf_worker.c
+++ b/drivers/event/octeontx/ssovf_worker.c
@@ -213,6 +213,18 @@ ssows_enq_new_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 
 	return nb_events;
 }
+
+uint16_t __hot
+ssows_enq_fwd_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
+{
+	struct ssows *ws = port;
+	RTE_SET_USED(nb_events);
+
+	ssows_forward_event(ws,  ev);
+
+	return 1;
+}
+
 void
 ssows_flush_events(struct ssows *ws, uint8_t queue_id)
 {
-- 
2.13.2



More information about the dev mailing list