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:
Pavan Nikhilesh 2021-10-19 05:06:02 +05:30 committed by Jerin Jacob
parent 052e25d912
commit 295c053f90
8 changed files with 101 additions and 117 deletions

View File

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

View File

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

View File

@ -2,6 +2,8 @@
* Copyright(c) 2017 Cavium, Inc
*/
#include <eventdev_pmd.h>
#include <rte_common.h>
#include <rte_branch_prediction.h>

View File

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

View File

@ -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.
*

View File

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

View File

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

View File

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