@@ -375,7 +375,7 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
};
/* Tx modes */
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
sso_hws_tx_adptr_enq[2][2][2][2][2][2] = {
#define T(name, f5, f4, f3, f2, f1, f0, sz, flags) \
[f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_tx_adptr_enq_##name,
@@ -383,7 +383,7 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
#undef T
};
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
sso_hws_tx_adptr_enq_seg[2][2][2][2][2][2] = {
#define T(name, f5, f4, f3, f2, f1, f0, sz, flags) \
[f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_tx_adptr_enq_seg_##name,
@@ -858,7 +858,7 @@ cn10k_crypto_adapter_qp_del(const struct rte_eventdev *event_dev,
return cnxk_crypto_adapter_qp_del(cdev, queue_pair_id);
}
-static struct rte_eventdev_ops cn10k_sso_dev_ops = {
+static struct eventdev_ops cn10k_sso_dev_ops = {
.dev_infos_get = cn10k_sso_info_get,
.dev_configure = cn10k_sso_dev_configure,
.queue_def_conf = cnxk_sso_queue_def_conf,
@@ -507,7 +507,7 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
};
/* Tx modes */
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
sso_hws_tx_adptr_enq[2][2][2][2][2][2] = {
#define T(name, f5, f4, f3, f2, f1, f0, sz, flags) \
[f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_tx_adptr_enq_##name,
@@ -515,7 +515,7 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
#undef T
};
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
sso_hws_tx_adptr_enq_seg[2][2][2][2][2][2] = {
#define T(name, f5, f4, f3, f2, f1, f0, sz, flags) \
[f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_tx_adptr_enq_seg_##name,
@@ -523,7 +523,7 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
#undef T
};
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
sso_hws_dual_tx_adptr_enq[2][2][2][2][2][2] = {
#define T(name, f5, f4, f3, f2, f1, f0, sz, flags) \
[f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_tx_adptr_enq_##name,
@@ -531,7 +531,7 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
#undef T
};
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
sso_hws_dual_tx_adptr_enq_seg[2][2][2][2][2][2] = {
#define T(name, f5, f4, f3, f2, f1, f0, sz, flags) \
[f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_tx_adptr_enq_seg_##name,
@@ -1052,7 +1052,7 @@ cn9k_crypto_adapter_qp_del(const struct rte_eventdev *event_dev,
return cnxk_crypto_adapter_qp_del(cdev, queue_pair_id);
}
-static struct rte_eventdev_ops cn9k_sso_dev_ops = {
+static struct eventdev_ops cn9k_sso_dev_ops = {
.dev_infos_get = cn9k_sso_info_get,
.dev_configure = cn9k_sso_dev_configure,
.queue_def_conf = cnxk_sso_queue_def_conf,
@@ -4384,7 +4384,7 @@ dlb2_entry_points_init(struct rte_eventdev *dev)
struct dlb2_eventdev *dlb2;
/* Expose PMD's eventdev interface */
- static struct rte_eventdev_ops dlb2_eventdev_entry_ops = {
+ static struct eventdev_ops dlb2_eventdev_entry_ops = {
.dev_infos_get = dlb2_eventdev_info_get,
.dev_configure = dlb2_eventdev_configure,
.dev_start = dlb2_eventdev_start,
@@ -925,7 +925,7 @@ dpaa_eventdev_txa_enqueue(void *port,
return nb_events;
}
-static struct rte_eventdev_ops dpaa_eventdev_ops = {
+static struct eventdev_ops dpaa_eventdev_ops = {
.dev_infos_get = dpaa_event_dev_info_get,
.dev_configure = dpaa_event_dev_configure,
.dev_start = dpaa_event_dev_start,
@@ -1015,7 +1015,7 @@ dpaa2_eventdev_txa_enqueue(void *port,
return nb_events;
}
-static struct rte_eventdev_ops dpaa2_eventdev_ops = {
+static struct eventdev_ops dpaa2_eventdev_ops = {
.dev_infos_get = dpaa2_eventdev_info_get,
.dev_configure = dpaa2_eventdev_configure,
.dev_start = dpaa2_eventdev_start,
@@ -398,7 +398,7 @@ dsw_crypto_adapter_caps_get(const struct rte_eventdev *dev __rte_unused,
return 0;
}
-static struct rte_eventdev_ops dsw_evdev_ops = {
+static struct eventdev_ops dsw_evdev_ops = {
.port_setup = dsw_port_setup,
.port_def_conf = dsw_port_def_conf,
.port_release = dsw_port_release,
@@ -790,7 +790,7 @@ ssovf_crypto_adapter_qp_del(const struct rte_eventdev *dev,
}
/* Initialize and register event driver with DPDK Application */
-static struct rte_eventdev_ops ssovf_ops = {
+static struct eventdev_ops ssovf_ops = {
.dev_infos_get = ssovf_info_get,
.dev_configure = ssovf_configure,
.queue_def_conf = ssovf_queue_def_conf,
@@ -343,11 +343,11 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
dev->ca_enqueue = ssow_crypto_adapter_enqueue;
- const event_tx_adapter_enqueue ssow_txa_enqueue[2][2][2][2] = {
+ const event_tx_adapter_enqueue_t ssow_txa_enqueue[2][2][2][2] = {
#define T(name, f3, f2, f1, f0, sz, flags) \
[f3][f2][f1][f0] = sso_event_tx_adapter_enqueue_ ##name,
-SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
+ SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
#undef T
};
@@ -178,41 +178,41 @@ SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
};
/* Tx modes */
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
ssogws_tx_adptr_enq[2][2][2][2][2][2][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = \
otx2_ssogws_tx_adptr_enq_ ## name,
-SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
+ SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
#undef T
- };
+ };
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
ssogws_tx_adptr_enq_seg[2][2][2][2][2][2][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = \
otx2_ssogws_tx_adptr_enq_seg_ ## name,
-SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
+ SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
#undef T
- };
+ };
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
ssogws_dual_tx_adptr_enq[2][2][2][2][2][2][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = \
otx2_ssogws_dual_tx_adptr_enq_ ## name,
-SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
+ SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
#undef T
- };
+ };
- const event_tx_adapter_enqueue
+ const event_tx_adapter_enqueue_t
ssogws_dual_tx_adptr_enq_seg[2][2][2][2][2][2][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = \
otx2_ssogws_dual_tx_adptr_enq_seg_ ## name,
-SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
+ SSO_TX_ADPTR_ENQ_FASTPATH_FUNC
#undef T
- };
+ };
event_dev->enqueue = otx2_ssogws_enq;
event_dev->enqueue_burst = otx2_ssogws_enq_burst;
@@ -1596,7 +1596,7 @@ otx2_sso_close(struct rte_eventdev *event_dev)
}
/* Initialize and register event driver with DPDK Application */
-static struct rte_eventdev_ops otx2_sso_ops = {
+static struct eventdev_ops otx2_sso_ops = {
.dev_infos_get = otx2_sso_info_get,
.dev_configure = otx2_sso_configure,
.queue_def_conf = otx2_sso_queue_def_conf,
@@ -609,7 +609,7 @@ set_do_test(const char *key __rte_unused, const char *value, void *opaque)
static int
opdl_probe(struct rte_vdev_device *vdev)
{
- static struct rte_eventdev_ops evdev_opdl_ops = {
+ static struct eventdev_ops evdev_opdl_ops = {
.dev_configure = opdl_dev_configure,
.dev_infos_get = opdl_info_get,
.dev_close = opdl_close,
@@ -320,7 +320,7 @@ skeleton_eventdev_dump(struct rte_eventdev *dev, FILE *f)
/* Initialize and register event driver with DPDK Application */
-static struct rte_eventdev_ops skeleton_eventdev_ops = {
+static struct eventdev_ops skeleton_eventdev_ops = {
.dev_infos_get = skeleton_eventdev_info_get,
.dev_configure = skeleton_eventdev_configure,
.dev_start = skeleton_eventdev_start,
@@ -945,7 +945,7 @@ static int32_t sw_sched_service_func(void *args)
static int
sw_probe(struct rte_vdev_device *vdev)
{
- static struct rte_eventdev_ops evdev_sw_ops = {
+ static struct eventdev_ops evdev_sw_ops = {
.dev_configure = sw_dev_configure,
.dev_infos_get = sw_info_get,
.dev_close = sw_close,
@@ -99,6 +99,7 @@ extern struct rte_eventdev *rte_eventdevs;
* @return
* - The rte_eventdev structure pointer for the given device ID.
*/
+__rte_internal
static inline struct rte_eventdev *
rte_event_pmd_get_named_dev(const char *name)
{
@@ -127,6 +128,7 @@ rte_event_pmd_get_named_dev(const char *name)
* @return
* - If the device index is valid (1) or not (0).
*/
+__rte_internal
static inline unsigned
rte_event_pmd_is_valid_dev(uint8_t dev_id)
{
@@ -1056,7 +1058,7 @@ typedef int (*eventdev_eth_tx_adapter_stats_reset_t)(uint8_t id,
const struct rte_eventdev *dev);
/** Event device operations function pointer table */
-struct rte_eventdev_ops {
+struct eventdev_ops {
eventdev_info_get_t dev_infos_get; /**< Get device info. */
eventdev_configure_t dev_configure; /**< Configure device. */
eventdev_start_t dev_start; /**< Start device. */
@@ -1174,6 +1176,7 @@ struct rte_eventdev_ops {
* @return
* - Slot in the rte_dev_devices array for a new device;
*/
+__rte_internal
struct rte_eventdev *
rte_event_pmd_allocate(const char *name, int socket_id);
@@ -1185,6 +1188,7 @@ rte_event_pmd_allocate(const char *name, int socket_id);
* @return
* - 0 on success, negative on error
*/
+__rte_internal
int
rte_event_pmd_release(struct rte_eventdev *eventdev);
@@ -31,7 +31,7 @@ typedef int (*eventdev_pmd_pci_callback_t)(struct rte_eventdev *dev);
* interface. Same as rte_event_pmd_pci_probe, except caller can specify
* the name.
*/
-__rte_experimental
+__rte_internal
static inline int
rte_event_pmd_pci_probe_named(struct rte_pci_driver *pci_drv,
struct rte_pci_device *pci_dev,
@@ -85,6 +85,7 @@ rte_event_pmd_pci_probe_named(struct rte_pci_driver *pci_drv,
* Wrapper for use by pci drivers as a .probe function to attach to a event
* interface.
*/
+__rte_internal
static inline int
rte_event_pmd_pci_probe(struct rte_pci_driver *pci_drv,
struct rte_pci_device *pci_dev,
@@ -108,6 +109,7 @@ rte_event_pmd_pci_probe(struct rte_pci_driver *pci_drv,
* Wrapper for use by pci drivers as a .remove function to detach a event
* interface.
*/
+__rte_internal
static inline int
rte_event_pmd_pci_remove(struct rte_pci_device *pci_dev,
eventdev_pmd_pci_callback_t devuninit)
@@ -37,6 +37,7 @@
* - Eventdev pointer if device is successfully created.
* - NULL if device cannot be created.
*/
+__rte_internal
static inline struct rte_eventdev *
rte_event_pmd_vdev_init(const char *name, size_t dev_private_size,
int socket_id)
@@ -74,6 +75,7 @@ rte_event_pmd_vdev_init(const char *name, size_t dev_private_size,
* @return
* - 0 on success, negative on error
*/
+__rte_internal
static inline int
rte_event_pmd_vdev_uninit(const char *name)
{
@@ -27,5 +27,11 @@ headers = files(
'rte_event_crypto_adapter.h',
'rte_event_eth_tx_adapter.h',
)
+driver_sdk_headers += files(
+ 'eventdev_pmd.h',
+ 'eventdev_pmd_pci.h',
+ 'eventdev_pmd_vdev.h',
+)
+
deps += ['ring', 'ethdev', 'hash', 'mempool', 'mbuf', 'timer', 'cryptodev']
deps += ['telemetry']
@@ -171,7 +171,6 @@ extern "C" {
#include <stdint.h>
#include "rte_eventdev.h"
-#include "eventdev_pmd.h"
/**
* Crypto event adapter mode
@@ -1324,7 +1324,7 @@ int
rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
uint32_t *caps);
-struct rte_eventdev_ops;
+struct eventdev_ops;
struct rte_eventdev;
typedef uint16_t (*event_enqueue_t)(void *port, const struct rte_event *ev);
@@ -1342,18 +1342,21 @@ typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[],
uint16_t nb_events, uint64_t timeout_ticks);
/**< @internal Dequeue burst of events from port of a device */
-typedef uint16_t (*event_tx_adapter_enqueue)(void *port,
- struct rte_event ev[], uint16_t nb_events);
+typedef uint16_t (*event_tx_adapter_enqueue_t)(void *port,
+ struct rte_event ev[],
+ uint16_t nb_events);
/**< @internal Enqueue burst of events on port of a device */
-typedef uint16_t (*event_tx_adapter_enqueue_same_dest)(void *port,
- struct rte_event ev[], uint16_t nb_events);
+typedef uint16_t (*event_tx_adapter_enqueue_same_dest_t)(void *port,
+ struct rte_event ev[],
+ uint16_t nb_events);
/**< @internal Enqueue burst of events on port of a device supporting
* burst having same destination Ethernet port & Tx queue.
*/
-typedef uint16_t (*event_crypto_adapter_enqueue)(void *port,
- struct rte_event ev[], uint16_t nb_events);
+typedef uint16_t (*event_crypto_adapter_enqueue_t)(void *port,
+ struct rte_event ev[],
+ uint16_t nb_events);
/**< @internal Enqueue burst of events on crypto adapter */
#define RTE_EVENTDEV_NAME_MAX_LEN (64)
@@ -1421,15 +1424,15 @@ struct rte_eventdev {
/**< Pointer to PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< Pointer to PMD dequeue burst function. */
- event_tx_adapter_enqueue_same_dest txa_enqueue_same_dest;
+ event_tx_adapter_enqueue_same_dest_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 txa_enqueue;
+ 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 rte_eventdev_ops *dev_ops;
+ struct eventdev_ops *dev_ops;
/**< Functions exported by PMD */
struct rte_device *dev;
/**< Device info. supplied by probing */
@@ -1438,7 +1441,7 @@ struct rte_eventdev {
uint8_t attached : 1;
/**< Flag indicating the device is attached */
- event_crypto_adapter_enqueue ca_enqueue;
+ event_crypto_adapter_enqueue_t ca_enqueue;
/**< Pointer to PMD crypto adapter enqueue function. */
uint64_t reserved_64s[4]; /**< Reserved for future fields */
@@ -55,12 +55,6 @@ DPDK_22 {
rte_event_eth_tx_adapter_stats_get;
rte_event_eth_tx_adapter_stats_reset;
rte_event_eth_tx_adapter_stop;
- rte_event_pmd_allocate;
- rte_event_pmd_pci_probe;
- rte_event_pmd_pci_remove;
- rte_event_pmd_release;
- rte_event_pmd_vdev_init;
- rte_event_pmd_vdev_uninit;
rte_event_port_attr_get;
rte_event_port_default_conf_get;
rte_event_port_link;
@@ -136,8 +130,6 @@ EXPERIMENTAL {
# changed in 20.11
__rte_eventdev_trace_port_setup;
- # added in 20.11
- rte_event_pmd_pci_probe_named;
#added in 21.05
rte_event_vector_pool_create;
@@ -150,4 +142,13 @@ INTERNAL {
global:
rte_event_pmd_selftest_seqn_dynfield_offset;
+ rte_event_pmd_allocate;
+ rte_event_pmd_get_named_dev;
+ rte_event_pmd_is_valid_dev;
+ rte_event_pmd_pci_probe;
+ rte_event_pmd_pci_probe_named;
+ rte_event_pmd_pci_remove;
+ rte_event_pmd_release;
+ rte_event_pmd_vdev_init;
+ rte_event_pmd_vdev_uninit;
};