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 <nipun.gupta@nxp.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
This commit is contained in:
Nipun Gupta 2017-02-07 00:34:37 +05:30 committed by Jerin Jacob
parent f8f9d233ea
commit d3e281a540
3 changed files with 15 additions and 9 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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);
/**