295c053f90
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>
73 lines
2.3 KiB
C
73 lines
2.3 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2016-2018 Intel Corporation.
|
|
* Copyright(C) 2021 Marvell.
|
|
* Copyright 2016 NXP
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef _RTE_EVENTDEV_CORE_H_
|
|
#define _RTE_EVENTDEV_CORE_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef uint16_t (*event_enqueue_t)(void *port, const struct rte_event *ev);
|
|
/**< @internal Enqueue event on port of a device */
|
|
|
|
typedef uint16_t (*event_enqueue_burst_t)(void *port,
|
|
const struct rte_event ev[],
|
|
uint16_t nb_events);
|
|
/**< @internal Enqueue burst of events on port of a device */
|
|
|
|
typedef uint16_t (*event_dequeue_t)(void *port, struct rte_event *ev,
|
|
uint64_t timeout_ticks);
|
|
/**< @internal Dequeue event from port of a device */
|
|
|
|
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_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_crypto_adapter_enqueue_t)(void *port,
|
|
struct rte_event ev[],
|
|
uint16_t nb_events);
|
|
/**< @internal Enqueue burst of events on crypto adapter */
|
|
|
|
struct rte_event_fp_ops {
|
|
void **data;
|
|
/**< points to array of internal port data pointers */
|
|
event_enqueue_t enqueue;
|
|
/**< PMD enqueue function. */
|
|
event_enqueue_burst_t enqueue_burst;
|
|
/**< PMD enqueue burst function. */
|
|
event_enqueue_burst_t enqueue_new_burst;
|
|
/**< PMD enqueue burst new function. */
|
|
event_enqueue_burst_t enqueue_forward_burst;
|
|
/**< PMD enqueue burst fwd function. */
|
|
event_dequeue_t dequeue;
|
|
/**< PMD dequeue function. */
|
|
event_dequeue_burst_t dequeue_burst;
|
|
/**< PMD dequeue burst function. */
|
|
event_tx_adapter_enqueue_t txa_enqueue;
|
|
/**< PMD Tx adapter enqueue function. */
|
|
event_tx_adapter_enqueue_t txa_enqueue_same_dest;
|
|
/**< PMD Tx adapter enqueue same destination function. */
|
|
event_crypto_adapter_enqueue_t ca_enqueue;
|
|
/**< PMD Crypto adapter enqueue function. */
|
|
uintptr_t reserved[6];
|
|
} __rte_cache_aligned;
|
|
|
|
extern struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS];
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /*_RTE_EVENTDEV_CORE_H_*/
|