1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2019 Marvell International Ltd.
5 #ifndef __L2FWD_EVENT_H__
6 #define __L2FWD_EVENT_H__
8 #include <rte_common.h>
9 #include <rte_event_eth_rx_adapter.h>
10 #include <rte_event_eth_tx_adapter.h>
12 #include <rte_spinlock.h>
14 #include "l2fwd_common.h"
16 typedef uint32_t (*event_device_setup_cb)(struct l2fwd_resources *rsrc);
17 typedef void (*event_port_setup_cb)(struct l2fwd_resources *rsrc);
18 typedef void (*event_queue_setup_cb)(struct l2fwd_resources *rsrc,
19 uint32_t event_queue_cfg);
32 struct event_setup_ops {
33 event_device_setup_cb event_device_setup;
34 event_queue_setup_cb event_queue_setup;
35 event_port_setup_cb event_port_setup;
38 struct l2fwd_event_resources {
43 uint8_t disable_implicit_release;
44 struct event_ports evp;
45 struct event_queues evq;
46 struct event_setup_ops ops;
47 struct rte_event_port_conf def_p_conf;
50 void l2fwd_event_resource_setup(struct l2fwd_resources *rsrc);
51 void l2fwd_event_set_generic_ops(struct event_setup_ops *ops);
52 void l2fwd_event_set_internal_port_ops(struct event_setup_ops *ops);
54 #endif /* __L2FWD_EVENT_H__ */