DPDK 25.03.0-rc0
rte_eventdev_core.h
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2016-2018 Intel Corporation.
3 * Copyright(C) 2021 Marvell.
4 * Copyright 2016 NXP
5 * All rights reserved.
6 */
7
8#ifndef _RTE_EVENTDEV_CORE_H_
9#define _RTE_EVENTDEV_CORE_H_
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef uint16_t (*event_enqueue_burst_t)(void *port,
16 const struct rte_event ev[],
17 uint16_t nb_events);
20typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[],
21 uint16_t nb_events,
22 uint64_t timeout_ticks);
25typedef void (*event_maintain_t)(void *port, int op);
28typedef uint16_t (*event_tx_adapter_enqueue_t)(void *port,
29 struct rte_event ev[],
30 uint16_t nb_events);
33typedef uint16_t (*event_crypto_adapter_enqueue_t)(void *port,
34 struct rte_event ev[],
35 uint16_t nb_events);
38typedef uint16_t (*event_dma_adapter_enqueue_t)(void *port, struct rte_event ev[],
39 uint16_t nb_events);
42typedef int (*event_profile_switch_t)(void *port, uint8_t profile);
45typedef int (*event_preschedule_modify_t)(void *port,
46 enum rte_event_dev_preschedule_type preschedule_type);
49typedef void (*event_preschedule_t)(void *port,
50 enum rte_event_dev_preschedule_type preschedule_type);
53struct __rte_cache_aligned rte_event_fp_ops {
54 void **data;
56 event_enqueue_burst_t enqueue_burst;
58 event_enqueue_burst_t enqueue_new_burst;
60 event_enqueue_burst_t enqueue_forward_burst;
62 event_dequeue_burst_t dequeue_burst;
64 event_maintain_t maintain;
66 event_tx_adapter_enqueue_t txa_enqueue;
68 event_tx_adapter_enqueue_t txa_enqueue_same_dest;
70 event_crypto_adapter_enqueue_t ca_enqueue;
72 event_dma_adapter_enqueue_t dma_enqueue;
74 event_profile_switch_t profile_switch;
76 event_preschedule_modify_t preschedule_modify;
78 event_preschedule_t preschedule;
80 uintptr_t reserved[2];
81};
82
83extern struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS];
84
85#ifdef __cplusplus
86}
87#endif
88
89#endif /*_RTE_EVENTDEV_CORE_H_*/
#define __rte_cache_aligned
Definition: rte_common.h:627
rte_event_dev_preschedule_type
Definition: rte_eventdev.h:742
uint8_t op