eventdev driver may return error on dequeue timeout tick conversion.
Change the pmd callback interface to address the same.

Signed-off-by: Jerin Jacob <jerin.ja...@caviumnetworks.com>
---
 drivers/event/skeleton/skeleton_eventdev.c | 4 +++-
 lib/librte_eventdev/rte_eventdev.c         | 3 +--
 lib/librte_eventdev/rte_eventdev_pmd.h     | 5 ++++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c 
b/drivers/event/skeleton/skeleton_eventdev.c
index dee0faf..05ec58b 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -319,7 +319,7 @@ skeleton_eventdev_port_unlink(struct rte_eventdev *dev, 
void *port,
 
 }
 
-static void
+static int
 skeleton_eventdev_timeout_ticks(struct rte_eventdev *dev, uint64_t ns,
                                 uint64_t *timeout_ticks)
 {
@@ -330,6 +330,8 @@ skeleton_eventdev_timeout_ticks(struct rte_eventdev *dev, 
uint64_t ns,
 
        RTE_SET_USED(skel);
        *timeout_ticks = ns * scale;
+
+       return 0;
 }
 
 static void
diff --git a/lib/librte_eventdev/rte_eventdev.c 
b/lib/librte_eventdev/rte_eventdev.c
index 68bfc3b..178bdcf 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -902,8 +902,7 @@ rte_event_dequeue_timeout_ticks(uint8_t dev_id, uint64_t ns,
        if (timeout_ticks == NULL)
                return -EINVAL;
 
-       (*dev->dev_ops->timeout_ticks)(dev, ns, timeout_ticks);
-       return 0;
+       return (*dev->dev_ops->timeout_ticks)(dev, ns, timeout_ticks);
 }
 
 int
diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h 
b/lib/librte_eventdev/rte_eventdev_pmd.h
index 828dfce..45ac8ea 100644
--- a/lib/librte_eventdev/rte_eventdev_pmd.h
+++ b/lib/librte_eventdev/rte_eventdev_pmd.h
@@ -406,8 +406,11 @@ typedef int (*eventdev_port_unlink_t)(struct rte_eventdev 
*dev, void *port,
  * @param[out] timeout_ticks
  *   Value for the *timeout_ticks* parameter in rte_event_dequeue() function
  *
+ * @return
+ *   Returns 0 on success.
+ *
  */
-typedef void (*eventdev_dequeue_timeout_ticks_t)(struct rte_eventdev *dev,
+typedef int (*eventdev_dequeue_timeout_ticks_t)(struct rte_eventdev *dev,
                uint64_t ns, uint64_t *timeout_ticks);
 
 /**
-- 
2.5.5

Reply via email to