1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2019 Intel Corporation
5 #ifndef __INCLUDE_RTE_PORT_EVENTDEV_H__
6 #define __INCLUDE_RTE_PORT_EVENTDEV_H__
13 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
18 * RTE Port Eventdev Interface
20 * eventdev_reader: input port built on top of pre-initialized eventdev
22 * eventdev_writer: output port built on top of pre-initialized eventdev
28 #include <rte_eventdev.h>
32 /** Eventdev_reader port parameters */
33 struct rte_port_eventdev_reader_params {
34 /** Eventdev Device ID */
37 /** Eventdev Port ID */
41 /** Eventdev_reader port operations. */
42 extern struct rte_port_in_ops rte_port_eventdev_reader_ops;
44 /** Eventdev_writer port parameters. */
45 struct rte_port_eventdev_writer_params {
46 /** Eventdev Device ID. */
49 /** Eventdev Port ID. */
52 /** Eventdev Queue ID. */
55 /** Burst size to eventdev interface. */
56 uint32_t enq_burst_sz;
58 /** Scheduler synchronization type (RTE_SCHED_TYPE_*)*/
61 /** The type of eventdev enqueue operation - new/forward/release */
65 /** Eventdev_writer port operations. */
66 extern struct rte_port_out_ops rte_port_eventdev_writer_ops;
68 /** Event_writer_nodrop port parameters. */
69 struct rte_port_eventdev_writer_nodrop_params {
70 /** Eventdev Device ID. */
73 /** Eventdev Port ID. */
76 /** Eventdev Queue ID. */
79 /** Burst size to eventdev interface. */
80 uint32_t enq_burst_sz;
82 /** Scheduler synchronization type (RTE_SCHED_TYPE_*)*/
85 /** The type of eventdev enqueue operation - new/forward/release */
88 /** Maximum number of retries, 0 for no limit. */
92 /** Eventdev_writer_nodrop port operations. */
93 extern struct rte_port_out_ops rte_port_eventdev_writer_nodrop_ops;