eventdev: hide event device related structures
Move rte_eventdev, rte_eventdev_data structures to eventdev_pmd.h. Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Harman Kalra <hkalra@marvell.com>
This commit is contained in:
parent
052e25d912
commit
295c053f90
@ -5,6 +5,8 @@
|
||||
#ifndef _DLB2_INLINE_FNS_H_
|
||||
#define _DLB2_INLINE_FNS_H_
|
||||
|
||||
#include <eventdev_pmd.h>
|
||||
|
||||
/* Inline functions required in more than one source file. */
|
||||
|
||||
static inline struct dlb2_eventdev *
|
||||
|
@ -5,6 +5,8 @@
|
||||
#ifndef _DSW_EVDEV_H_
|
||||
#define _DSW_EVDEV_H_
|
||||
|
||||
#include <eventdev_pmd.h>
|
||||
|
||||
#include <rte_event_ring.h>
|
||||
#include <rte_eventdev.h>
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
* Copyright(c) 2017 Cavium, Inc
|
||||
*/
|
||||
|
||||
#include <eventdev_pmd.h>
|
||||
|
||||
#include <rte_common.h>
|
||||
#include <rte_branch_prediction.h>
|
||||
|
||||
|
@ -9,13 +9,14 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <eventdev_pmd.h>
|
||||
#include <rte_alarm.h>
|
||||
#include <rte_branch_prediction.h>
|
||||
#include <rte_bus_vdev.h>
|
||||
#include <rte_cycles.h>
|
||||
#include <rte_debug.h>
|
||||
#include <rte_devargs.h>
|
||||
#include <rte_dev.h>
|
||||
#include <rte_devargs.h>
|
||||
#include <rte_kvargs.h>
|
||||
#include <rte_malloc.h>
|
||||
#include <rte_mbuf_pool_ops.h>
|
||||
|
@ -80,6 +80,9 @@
|
||||
#define RTE_EVENTDEV_DETACHED (0)
|
||||
#define RTE_EVENTDEV_ATTACHED (1)
|
||||
|
||||
#define RTE_EVENTDEV_NAME_MAX_LEN (64)
|
||||
/**< @internal Max length of name of event PMD */
|
||||
|
||||
struct rte_eth_dev;
|
||||
|
||||
/** Global structure used for maintaining state of allocated event devices */
|
||||
@ -87,6 +90,95 @@ struct rte_eventdev_global {
|
||||
uint8_t nb_devs; /**< Number of devices found */
|
||||
};
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* The data part, with no function pointers, associated with each device.
|
||||
*
|
||||
* This structure is safe to place in shared memory to be common among
|
||||
* different processes in a multi-process configuration.
|
||||
*/
|
||||
struct rte_eventdev_data {
|
||||
int socket_id;
|
||||
/**< Socket ID where memory is allocated */
|
||||
uint8_t dev_id;
|
||||
/**< Device ID for this instance */
|
||||
uint8_t nb_queues;
|
||||
/**< Number of event queues. */
|
||||
uint8_t nb_ports;
|
||||
/**< Number of event ports. */
|
||||
void *ports[RTE_EVENT_MAX_PORTS_PER_DEV];
|
||||
/**< Array of pointers to ports. */
|
||||
struct rte_event_port_conf ports_cfg[RTE_EVENT_MAX_PORTS_PER_DEV];
|
||||
/**< Array of port configuration structures. */
|
||||
struct rte_event_queue_conf queues_cfg[RTE_EVENT_MAX_QUEUES_PER_DEV];
|
||||
/**< Array of queue configuration structures. */
|
||||
uint16_t links_map[RTE_EVENT_MAX_PORTS_PER_DEV *
|
||||
RTE_EVENT_MAX_QUEUES_PER_DEV];
|
||||
/**< Memory to store queues to port connections. */
|
||||
void *dev_private;
|
||||
/**< PMD-specific private data */
|
||||
uint32_t event_dev_cap;
|
||||
/**< Event device capabilities(RTE_EVENT_DEV_CAP_)*/
|
||||
struct rte_event_dev_config dev_conf;
|
||||
/**< Configuration applied to device. */
|
||||
uint8_t service_inited;
|
||||
/* Service initialization state */
|
||||
uint32_t service_id;
|
||||
/* Service ID*/
|
||||
void *dev_stop_flush_arg;
|
||||
/**< User-provided argument for event flush function */
|
||||
|
||||
RTE_STD_C11
|
||||
uint8_t dev_started : 1;
|
||||
/**< Device state: STARTED(1)/STOPPED(0) */
|
||||
|
||||
char name[RTE_EVENTDEV_NAME_MAX_LEN];
|
||||
/**< Unique identifier name */
|
||||
|
||||
uint64_t reserved_64s[4]; /**< Reserved for future fields */
|
||||
void *reserved_ptrs[4]; /**< Reserved for future fields */
|
||||
} __rte_cache_aligned;
|
||||
|
||||
/** @internal The data structure associated with each event device. */
|
||||
struct rte_eventdev {
|
||||
struct rte_eventdev_data *data;
|
||||
/**< Pointer to device data */
|
||||
struct eventdev_ops *dev_ops;
|
||||
/**< Functions exported by PMD */
|
||||
struct rte_device *dev;
|
||||
/**< Device info. supplied by probing */
|
||||
|
||||
RTE_STD_C11
|
||||
uint8_t attached : 1;
|
||||
/**< Flag indicating the device is attached */
|
||||
|
||||
event_enqueue_t enqueue;
|
||||
/**< Pointer to PMD enqueue function. */
|
||||
event_enqueue_burst_t enqueue_burst;
|
||||
/**< Pointer to PMD enqueue burst function. */
|
||||
event_enqueue_burst_t enqueue_new_burst;
|
||||
/**< Pointer to PMD enqueue burst function(op new variant) */
|
||||
event_enqueue_burst_t enqueue_forward_burst;
|
||||
/**< Pointer to PMD enqueue burst function(op forward variant) */
|
||||
event_dequeue_t dequeue;
|
||||
/**< Pointer to PMD dequeue function. */
|
||||
event_dequeue_burst_t dequeue_burst;
|
||||
/**< Pointer to PMD dequeue burst function. */
|
||||
event_tx_adapter_enqueue_t txa_enqueue_same_dest;
|
||||
/**< Pointer to PMD eth Tx adapter burst enqueue function with
|
||||
* events destined to same Eth port & Tx queue.
|
||||
*/
|
||||
event_tx_adapter_enqueue_t txa_enqueue;
|
||||
/**< Pointer to PMD eth Tx adapter enqueue function. */
|
||||
event_crypto_adapter_enqueue_t ca_enqueue;
|
||||
|
||||
uint64_t reserved_64s[4]; /**< Reserved for future fields */
|
||||
void *reserved_ptrs[3]; /**< Reserved for future fields */
|
||||
} __rte_cache_aligned;
|
||||
|
||||
extern struct rte_eventdev *rte_eventdevs;
|
||||
/** @internal The pool of rte_eventdev structures. */
|
||||
|
||||
/**
|
||||
* Get the rte_eventdev structure device pointer for the named device.
|
||||
*
|
||||
|
@ -1365,24 +1365,6 @@ eventdev_find_free_device_index(void)
|
||||
return RTE_EVENT_MAX_DEVS;
|
||||
}
|
||||
|
||||
static uint16_t
|
||||
rte_event_tx_adapter_enqueue(__rte_unused void *port,
|
||||
__rte_unused struct rte_event ev[],
|
||||
__rte_unused uint16_t nb_events)
|
||||
{
|
||||
rte_errno = ENOTSUP;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint16_t
|
||||
rte_event_crypto_adapter_enqueue(__rte_unused void *port,
|
||||
__rte_unused struct rte_event ev[],
|
||||
__rte_unused uint16_t nb_events)
|
||||
{
|
||||
rte_errno = ENOTSUP;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct rte_eventdev *
|
||||
rte_event_pmd_allocate(const char *name, int socket_id)
|
||||
{
|
||||
@ -1403,10 +1385,6 @@ rte_event_pmd_allocate(const char *name, int socket_id)
|
||||
|
||||
eventdev = &rte_eventdevs[dev_id];
|
||||
|
||||
eventdev->txa_enqueue = rte_event_tx_adapter_enqueue;
|
||||
eventdev->txa_enqueue_same_dest = rte_event_tx_adapter_enqueue;
|
||||
eventdev->ca_enqueue = rte_event_crypto_adapter_enqueue;
|
||||
|
||||
if (eventdev->data == NULL) {
|
||||
struct rte_eventdev_data *eventdev_data = NULL;
|
||||
|
||||
|
@ -65,99 +65,6 @@ struct rte_event_fp_ops {
|
||||
|
||||
extern struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS];
|
||||
|
||||
#define RTE_EVENTDEV_NAME_MAX_LEN (64)
|
||||
/**< @internal Max length of name of event PMD */
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* The data part, with no function pointers, associated with each device.
|
||||
*
|
||||
* This structure is safe to place in shared memory to be common among
|
||||
* different processes in a multi-process configuration.
|
||||
*/
|
||||
struct rte_eventdev_data {
|
||||
int socket_id;
|
||||
/**< Socket ID where memory is allocated */
|
||||
uint8_t dev_id;
|
||||
/**< Device ID for this instance */
|
||||
uint8_t nb_queues;
|
||||
/**< Number of event queues. */
|
||||
uint8_t nb_ports;
|
||||
/**< Number of event ports. */
|
||||
void *ports[RTE_EVENT_MAX_PORTS_PER_DEV];
|
||||
/**< Array of pointers to ports. */
|
||||
struct rte_event_port_conf ports_cfg[RTE_EVENT_MAX_PORTS_PER_DEV];
|
||||
/**< Array of port configuration structures. */
|
||||
struct rte_event_queue_conf queues_cfg[RTE_EVENT_MAX_QUEUES_PER_DEV];
|
||||
/**< Array of queue configuration structures. */
|
||||
uint16_t links_map[RTE_EVENT_MAX_PORTS_PER_DEV *
|
||||
RTE_EVENT_MAX_QUEUES_PER_DEV];
|
||||
/**< Memory to store queues to port connections. */
|
||||
void *dev_private;
|
||||
/**< PMD-specific private data */
|
||||
uint32_t event_dev_cap;
|
||||
/**< Event device capabilities(RTE_EVENT_DEV_CAP_)*/
|
||||
struct rte_event_dev_config dev_conf;
|
||||
/**< Configuration applied to device. */
|
||||
uint8_t service_inited;
|
||||
/* Service initialization state */
|
||||
uint32_t service_id;
|
||||
/* Service ID*/
|
||||
void *dev_stop_flush_arg;
|
||||
/**< User-provided argument for event flush function */
|
||||
|
||||
RTE_STD_C11
|
||||
uint8_t dev_started : 1;
|
||||
/**< Device state: STARTED(1)/STOPPED(0) */
|
||||
|
||||
char name[RTE_EVENTDEV_NAME_MAX_LEN];
|
||||
/**< Unique identifier name */
|
||||
|
||||
uint64_t reserved_64s[4]; /**< Reserved for future fields */
|
||||
void *reserved_ptrs[4]; /**< Reserved for future fields */
|
||||
} __rte_cache_aligned;
|
||||
|
||||
/** @internal The data structure associated with each event device. */
|
||||
struct rte_eventdev {
|
||||
event_enqueue_t enqueue;
|
||||
/**< Pointer to PMD enqueue function. */
|
||||
event_enqueue_burst_t enqueue_burst;
|
||||
/**< Pointer to PMD enqueue burst function. */
|
||||
event_enqueue_burst_t enqueue_new_burst;
|
||||
/**< Pointer to PMD enqueue burst function(op new variant) */
|
||||
event_enqueue_burst_t enqueue_forward_burst;
|
||||
/**< Pointer to PMD enqueue burst function(op forward variant) */
|
||||
event_dequeue_t dequeue;
|
||||
/**< Pointer to PMD dequeue function. */
|
||||
event_dequeue_burst_t dequeue_burst;
|
||||
/**< Pointer to PMD dequeue burst function. */
|
||||
event_tx_adapter_enqueue_t txa_enqueue_same_dest;
|
||||
/**< Pointer to PMD eth Tx adapter burst enqueue function with
|
||||
* events destined to same Eth port & Tx queue.
|
||||
*/
|
||||
event_tx_adapter_enqueue_t txa_enqueue;
|
||||
/**< Pointer to PMD eth Tx adapter enqueue function. */
|
||||
struct rte_eventdev_data *data;
|
||||
/**< Pointer to device data */
|
||||
struct eventdev_ops *dev_ops;
|
||||
/**< Functions exported by PMD */
|
||||
struct rte_device *dev;
|
||||
/**< Device info. supplied by probing */
|
||||
|
||||
RTE_STD_C11
|
||||
uint8_t attached : 1;
|
||||
/**< Flag indicating the device is attached */
|
||||
|
||||
event_crypto_adapter_enqueue_t ca_enqueue;
|
||||
/**< Pointer to PMD crypto adapter enqueue function. */
|
||||
|
||||
uint64_t reserved_64s[4]; /**< Reserved for future fields */
|
||||
void *reserved_ptrs[3]; /**< Reserved for future fields */
|
||||
} __rte_cache_aligned;
|
||||
|
||||
extern struct rte_eventdev *rte_eventdevs;
|
||||
/** @internal The pool of rte_eventdev structures. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -83,7 +83,6 @@ DPDK_22 {
|
||||
rte_event_timer_arm_burst;
|
||||
rte_event_timer_arm_tmo_tick_burst;
|
||||
rte_event_timer_cancel_burst;
|
||||
rte_eventdevs;
|
||||
|
||||
#added in 21.11
|
||||
rte_event_fp_ops;
|
||||
@ -159,4 +158,5 @@ INTERNAL {
|
||||
rte_event_pmd_release;
|
||||
rte_event_pmd_vdev_init;
|
||||
rte_event_pmd_vdev_uninit;
|
||||
rte_eventdevs;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user