xref: /dpdk/lib/eventdev/eventdev_private.c (revision d007a7f39de3f17071acdefcd48b49e07306040f)
1d35e6132SPavan Nikhilesh /* SPDX-License-Identifier: BSD-3-Clause
2d35e6132SPavan Nikhilesh  * Copyright(C) 2021 Marvell.
3d35e6132SPavan Nikhilesh  */
4d35e6132SPavan Nikhilesh 
5d35e6132SPavan Nikhilesh #include "eventdev_pmd.h"
6d35e6132SPavan Nikhilesh #include "rte_eventdev.h"
7d35e6132SPavan Nikhilesh 
8d35e6132SPavan Nikhilesh static uint16_t
9d35e6132SPavan Nikhilesh dummy_event_enqueue(__rte_unused void *port,
10d35e6132SPavan Nikhilesh 		    __rte_unused const struct rte_event *ev)
11d35e6132SPavan Nikhilesh {
12d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
13d35e6132SPavan Nikhilesh 		"event enqueue requested for unconfigured event device");
14d35e6132SPavan Nikhilesh 	return 0;
15d35e6132SPavan Nikhilesh }
16d35e6132SPavan Nikhilesh 
17d35e6132SPavan Nikhilesh static uint16_t
18d35e6132SPavan Nikhilesh dummy_event_enqueue_burst(__rte_unused void *port,
19d35e6132SPavan Nikhilesh 			  __rte_unused const struct rte_event ev[],
20d35e6132SPavan Nikhilesh 			  __rte_unused uint16_t nb_events)
21d35e6132SPavan Nikhilesh {
22d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
23d35e6132SPavan Nikhilesh 		"event enqueue burst requested for unconfigured event device");
24d35e6132SPavan Nikhilesh 	return 0;
25d35e6132SPavan Nikhilesh }
26d35e6132SPavan Nikhilesh 
27d35e6132SPavan Nikhilesh static uint16_t
28d35e6132SPavan Nikhilesh dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev,
29d35e6132SPavan Nikhilesh 		    __rte_unused uint64_t timeout_ticks)
30d35e6132SPavan Nikhilesh {
31d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
32d35e6132SPavan Nikhilesh 		"event dequeue requested for unconfigured event device");
33d35e6132SPavan Nikhilesh 	return 0;
34d35e6132SPavan Nikhilesh }
35d35e6132SPavan Nikhilesh 
36d35e6132SPavan Nikhilesh static uint16_t
37d35e6132SPavan Nikhilesh dummy_event_dequeue_burst(__rte_unused void *port,
38d35e6132SPavan Nikhilesh 			  __rte_unused struct rte_event ev[],
39d35e6132SPavan Nikhilesh 			  __rte_unused uint16_t nb_events,
40d35e6132SPavan Nikhilesh 			  __rte_unused uint64_t timeout_ticks)
41d35e6132SPavan Nikhilesh {
42d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
43d35e6132SPavan Nikhilesh 		"event dequeue burst requested for unconfigured event device");
44d35e6132SPavan Nikhilesh 	return 0;
45d35e6132SPavan Nikhilesh }
46d35e6132SPavan Nikhilesh 
4754f17843SMattias Rönnblom static void
4854f17843SMattias Rönnblom dummy_event_maintain(__rte_unused void *port, __rte_unused int op)
4954f17843SMattias Rönnblom {
5054f17843SMattias Rönnblom 	RTE_EDEV_LOG_ERR(
5154f17843SMattias Rönnblom 		"maintenance requested for unconfigured event device");
5254f17843SMattias Rönnblom }
5354f17843SMattias Rönnblom 
54d35e6132SPavan Nikhilesh static uint16_t
55d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue(__rte_unused void *port,
56d35e6132SPavan Nikhilesh 			       __rte_unused struct rte_event ev[],
57d35e6132SPavan Nikhilesh 			       __rte_unused uint16_t nb_events)
58d35e6132SPavan Nikhilesh {
59d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
60d35e6132SPavan Nikhilesh 		"event Tx adapter enqueue requested for unconfigured event device");
61d35e6132SPavan Nikhilesh 	return 0;
62d35e6132SPavan Nikhilesh }
63d35e6132SPavan Nikhilesh 
64d35e6132SPavan Nikhilesh static uint16_t
65d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue_same_dest(__rte_unused void *port,
66d35e6132SPavan Nikhilesh 					 __rte_unused struct rte_event ev[],
67d35e6132SPavan Nikhilesh 					 __rte_unused uint16_t nb_events)
68d35e6132SPavan Nikhilesh {
69d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
70d35e6132SPavan Nikhilesh 		"event Tx adapter enqueue same destination requested for unconfigured event device");
71d35e6132SPavan Nikhilesh 	return 0;
72d35e6132SPavan Nikhilesh }
73d35e6132SPavan Nikhilesh 
74d35e6132SPavan Nikhilesh static uint16_t
75d35e6132SPavan Nikhilesh dummy_event_crypto_adapter_enqueue(__rte_unused void *port,
76d35e6132SPavan Nikhilesh 				   __rte_unused struct rte_event ev[],
77d35e6132SPavan Nikhilesh 				   __rte_unused uint16_t nb_events)
78d35e6132SPavan Nikhilesh {
79d35e6132SPavan Nikhilesh 	RTE_EDEV_LOG_ERR(
80d35e6132SPavan Nikhilesh 		"event crypto adapter enqueue requested for unconfigured event device");
81d35e6132SPavan Nikhilesh 	return 0;
82d35e6132SPavan Nikhilesh }
83d35e6132SPavan Nikhilesh 
8466a30a29SAmit Prakash Shukla static uint16_t
8566a30a29SAmit Prakash Shukla dummy_event_dma_adapter_enqueue(__rte_unused void *port, __rte_unused struct rte_event ev[],
8666a30a29SAmit Prakash Shukla 			       __rte_unused uint16_t nb_events)
8766a30a29SAmit Prakash Shukla {
8866a30a29SAmit Prakash Shukla 	RTE_EDEV_LOG_ERR("event DMA adapter enqueue requested for unconfigured event device");
8966a30a29SAmit Prakash Shukla 	return 0;
9066a30a29SAmit Prakash Shukla }
9166a30a29SAmit Prakash Shukla 
92*d007a7f3SPavan Nikhilesh static int
93*d007a7f3SPavan Nikhilesh dummy_event_port_profile_switch(__rte_unused void *port, __rte_unused uint8_t profile_id)
94*d007a7f3SPavan Nikhilesh {
95*d007a7f3SPavan Nikhilesh 	RTE_EDEV_LOG_ERR("change profile requested for unconfigured event device");
96*d007a7f3SPavan Nikhilesh 	return -EINVAL;
97*d007a7f3SPavan Nikhilesh }
98*d007a7f3SPavan Nikhilesh 
99d35e6132SPavan Nikhilesh void
100d35e6132SPavan Nikhilesh event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
101d35e6132SPavan Nikhilesh {
102d35e6132SPavan Nikhilesh 	static void *dummy_data[RTE_MAX_QUEUES_PER_PORT];
103d35e6132SPavan Nikhilesh 	static const struct rte_event_fp_ops dummy = {
104d35e6132SPavan Nikhilesh 		.enqueue = dummy_event_enqueue,
105d35e6132SPavan Nikhilesh 		.enqueue_burst = dummy_event_enqueue_burst,
106d35e6132SPavan Nikhilesh 		.enqueue_new_burst = dummy_event_enqueue_burst,
107d35e6132SPavan Nikhilesh 		.enqueue_forward_burst = dummy_event_enqueue_burst,
108d35e6132SPavan Nikhilesh 		.dequeue = dummy_event_dequeue,
109d35e6132SPavan Nikhilesh 		.dequeue_burst = dummy_event_dequeue_burst,
11054f17843SMattias Rönnblom 		.maintain = dummy_event_maintain,
111d35e6132SPavan Nikhilesh 		.txa_enqueue = dummy_event_tx_adapter_enqueue,
112d35e6132SPavan Nikhilesh 		.txa_enqueue_same_dest =
113d35e6132SPavan Nikhilesh 			dummy_event_tx_adapter_enqueue_same_dest,
114d35e6132SPavan Nikhilesh 		.ca_enqueue = dummy_event_crypto_adapter_enqueue,
11566a30a29SAmit Prakash Shukla 		.dma_enqueue = dummy_event_dma_adapter_enqueue,
116*d007a7f3SPavan Nikhilesh 		.profile_switch = dummy_event_port_profile_switch,
117d35e6132SPavan Nikhilesh 		.data = dummy_data,
118d35e6132SPavan Nikhilesh 	};
119d35e6132SPavan Nikhilesh 
120d35e6132SPavan Nikhilesh 	*fp_op = dummy;
121d35e6132SPavan Nikhilesh }
122d35e6132SPavan Nikhilesh 
123d35e6132SPavan Nikhilesh void
124d35e6132SPavan Nikhilesh event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op,
125d35e6132SPavan Nikhilesh 		     const struct rte_eventdev *dev)
126d35e6132SPavan Nikhilesh {
127d35e6132SPavan Nikhilesh 	fp_op->enqueue = dev->enqueue;
128d35e6132SPavan Nikhilesh 	fp_op->enqueue_burst = dev->enqueue_burst;
129d35e6132SPavan Nikhilesh 	fp_op->enqueue_new_burst = dev->enqueue_new_burst;
130d35e6132SPavan Nikhilesh 	fp_op->enqueue_forward_burst = dev->enqueue_forward_burst;
131d35e6132SPavan Nikhilesh 	fp_op->dequeue = dev->dequeue;
132d35e6132SPavan Nikhilesh 	fp_op->dequeue_burst = dev->dequeue_burst;
13354f17843SMattias Rönnblom 	fp_op->maintain = dev->maintain;
134d35e6132SPavan Nikhilesh 	fp_op->txa_enqueue = dev->txa_enqueue;
135d35e6132SPavan Nikhilesh 	fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest;
136d35e6132SPavan Nikhilesh 	fp_op->ca_enqueue = dev->ca_enqueue;
13766a30a29SAmit Prakash Shukla 	fp_op->dma_enqueue = dev->dma_enqueue;
138*d007a7f3SPavan Nikhilesh 	fp_op->profile_switch = dev->profile_switch;
139d35e6132SPavan Nikhilesh 	fp_op->data = dev->data->ports;
140d35e6132SPavan Nikhilesh }
141