eventdev: make driver interface as internal

Mark all the driver specific functions as internal, remove
`rte` prefix from `struct rte_eventdev_ops`.
Remove experimental tag from internal functions.
Remove `eventdev_pmd.h` from non-internal header files.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
Pavan Nikhilesh 2021-10-19 05:05:56 +05:30 committed by Jerin Jacob
parent 814d017093
commit 23d06e3766
19 changed files with 70 additions and 53 deletions

View File

@ -380,7 +380,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][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_tx_adptr_enq_##name,
@ -388,7 +388,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][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_tx_adptr_enq_seg_##name,
@ -788,7 +788,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,

View File

@ -514,7 +514,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][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_tx_adptr_enq_##name,
@ -522,7 +522,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][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_tx_adptr_enq_seg_##name,
@ -530,7 +530,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][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_tx_adptr_enq_##name,
@ -538,7 +538,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][2] = {
#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags) \
[f6][f5][f4][f3][f2][f1][f0] = \
@ -1060,7 +1060,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,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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. */
@ -1173,6 +1175,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);
@ -1184,6 +1187,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);

View File

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

View File

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

View File

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

View File

@ -171,7 +171,6 @@ extern "C" {
#include <stdint.h>
#include "rte_eventdev.h"
#include "eventdev_pmd.h"
/**
* Crypto event adapter mode

View File

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

View File

@ -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.11
rte_event_eth_rx_adapter_create_with_params;
@ -152,4 +144,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;
};