DPDK  24.11.2
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
12 extern "C" {
13 #endif
14 
15 typedef uint16_t (*event_enqueue_burst_t)(void *port,
16  const struct rte_event ev[],
17  uint16_t nb_events);
20 typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[],
21  uint16_t nb_events,
22  uint64_t timeout_ticks);
25 typedef void (*event_maintain_t)(void *port, int op);
28 typedef uint16_t (*event_tx_adapter_enqueue_t)(void *port,
29  struct rte_event ev[],
30  uint16_t nb_events);
33 typedef uint16_t (*event_crypto_adapter_enqueue_t)(void *port,
34  struct rte_event ev[],
35  uint16_t nb_events);
38 typedef uint16_t (*event_dma_adapter_enqueue_t)(void *port, struct rte_event ev[],
39  uint16_t nb_events);
42 typedef int (*event_profile_switch_t)(void *port, uint8_t profile);
45 typedef int (*event_preschedule_modify_t)(void *port,
46  enum rte_event_dev_preschedule_type preschedule_type);
49 typedef void (*event_preschedule_t)(void *port,
50  enum rte_event_dev_preschedule_type preschedule_type);
53 struct __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 
83 extern 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