From d3e281a540567879a1fb65f4af95050de27eddca Mon Sep 17 00:00:00 2001 From: Nipun Gupta Date: Tue, 7 Feb 2017 00:34:37 +0530 Subject: [PATCH] eventdev: update event port link and unlink callbacks Added a pointer to the rte_eventdev type in the event port link and unlink callbacks. This device shall be used by some of the event drivers to fetch queue related information. Also, update the skeleton eventdev driver with corresponding changes. Signed-off-by: Nipun Gupta Acked-by: Jerin Jacob --- drivers/event/skeleton/skeleton_eventdev.c | 8 +++++--- lib/librte_eventdev/rte_eventdev.c | 8 ++++---- lib/librte_eventdev/rte_eventdev_pmd.h | 8 ++++++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c index 085cb86aa3..9330d7474f 100644 --- a/drivers/event/skeleton/skeleton_eventdev.c +++ b/drivers/event/skeleton/skeleton_eventdev.c @@ -287,13 +287,14 @@ skeleton_eventdev_port_setup(struct rte_eventdev *dev, uint8_t port_id, } static int -skeleton_eventdev_port_link(void *port, +skeleton_eventdev_port_link(struct rte_eventdev *dev, void *port, const uint8_t queues[], const uint8_t priorities[], uint16_t nb_links) { struct skeleton_port *sp = port; PMD_DRV_FUNC_TRACE(); + RTE_SET_USED(dev); RTE_SET_USED(sp); RTE_SET_USED(queues); RTE_SET_USED(priorities); @@ -303,12 +304,13 @@ skeleton_eventdev_port_link(void *port, } static int -skeleton_eventdev_port_unlink(void *port, uint8_t queues[], - uint16_t nb_unlinks) +skeleton_eventdev_port_unlink(struct rte_eventdev *dev, void *port, + uint8_t queues[], uint16_t nb_unlinks) { struct skeleton_port *sp = port; PMD_DRV_FUNC_TRACE(); + RTE_SET_USED(dev); RTE_SET_USED(sp); RTE_SET_USED(queues); diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c index c8f3e944df..c7452f0e26 100644 --- a/lib/librte_eventdev/rte_eventdev.c +++ b/lib/librte_eventdev/rte_eventdev.c @@ -801,8 +801,8 @@ rte_event_port_link(uint8_t dev_id, uint8_t port_id, if (queues[i] >= RTE_EVENT_MAX_QUEUES_PER_DEV) return -EINVAL; - diag = (*dev->dev_ops->port_link)(dev->data->ports[port_id], queues, - priorities, nb_links); + diag = (*dev->dev_ops->port_link)(dev, dev->data->ports[port_id], + queues, priorities, nb_links); if (diag < 0) return diag; @@ -846,8 +846,8 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id, if (queues[i] >= RTE_EVENT_MAX_QUEUES_PER_DEV) return -EINVAL; - diag = (*dev->dev_ops->port_unlink)(dev->data->ports[port_id], queues, - nb_unlinks); + diag = (*dev->dev_ops->port_unlink)(dev, dev->data->ports[port_id], + queues, nb_unlinks); if (diag < 0) return diag; diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h b/lib/librte_eventdev/rte_eventdev_pmd.h index c84c9a22a4..2e3e5d34a7 100644 --- a/lib/librte_eventdev/rte_eventdev_pmd.h +++ b/lib/librte_eventdev/rte_eventdev_pmd.h @@ -357,6 +357,8 @@ typedef void (*eventdev_port_release_t)(void *port); /** * Link multiple source event queues to destination event port. * + * @param dev + * Event device pointer * @param port * Event port pointer * @param link @@ -372,13 +374,15 @@ typedef void (*eventdev_port_release_t)(void *port); * Returns 0 on success. * */ -typedef int (*eventdev_port_link_t)(void *port, +typedef int (*eventdev_port_link_t)(struct rte_eventdev *dev, void *port, const uint8_t queues[], const uint8_t priorities[], uint16_t nb_links); /** * Unlink multiple source event queues from destination event port. * + * @param dev + * Event device pointer * @param port * Event port pointer * @param queues @@ -390,7 +394,7 @@ typedef int (*eventdev_port_link_t)(void *port, * Returns 0 on success. * */ -typedef int (*eventdev_port_unlink_t)(void *port, +typedef int (*eventdev_port_unlink_t)(struct rte_eventdev *dev, void *port, uint8_t queues[], uint16_t nb_unlinks); /** -- 2.20.1