eventdev: add usage hints to port configure API
[dpdk.git] / lib / eventdev / eventdev_private.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #include "eventdev_pmd.h"
6 #include "rte_eventdev.h"
7
8 static uint16_t
9 dummy_event_enqueue(__rte_unused void *port,
10                     __rte_unused const struct rte_event *ev)
11 {
12         RTE_EDEV_LOG_ERR(
13                 "event enqueue requested for unconfigured event device");
14         return 0;
15 }
16
17 static uint16_t
18 dummy_event_enqueue_burst(__rte_unused void *port,
19                           __rte_unused const struct rte_event ev[],
20                           __rte_unused uint16_t nb_events)
21 {
22         RTE_EDEV_LOG_ERR(
23                 "event enqueue burst requested for unconfigured event device");
24         return 0;
25 }
26
27 static uint16_t
28 dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev,
29                     __rte_unused uint64_t timeout_ticks)
30 {
31         RTE_EDEV_LOG_ERR(
32                 "event dequeue requested for unconfigured event device");
33         return 0;
34 }
35
36 static uint16_t
37 dummy_event_dequeue_burst(__rte_unused void *port,
38                           __rte_unused struct rte_event ev[],
39                           __rte_unused uint16_t nb_events,
40                           __rte_unused uint64_t timeout_ticks)
41 {
42         RTE_EDEV_LOG_ERR(
43                 "event dequeue burst requested for unconfigured event device");
44         return 0;
45 }
46
47 static uint16_t
48 dummy_event_tx_adapter_enqueue(__rte_unused void *port,
49                                __rte_unused struct rte_event ev[],
50                                __rte_unused uint16_t nb_events)
51 {
52         RTE_EDEV_LOG_ERR(
53                 "event Tx adapter enqueue requested for unconfigured event device");
54         return 0;
55 }
56
57 static uint16_t
58 dummy_event_tx_adapter_enqueue_same_dest(__rte_unused void *port,
59                                          __rte_unused struct rte_event ev[],
60                                          __rte_unused uint16_t nb_events)
61 {
62         RTE_EDEV_LOG_ERR(
63                 "event Tx adapter enqueue same destination requested for unconfigured event device");
64         return 0;
65 }
66
67 static uint16_t
68 dummy_event_crypto_adapter_enqueue(__rte_unused void *port,
69                                    __rte_unused struct rte_event ev[],
70                                    __rte_unused uint16_t nb_events)
71 {
72         RTE_EDEV_LOG_ERR(
73                 "event crypto adapter enqueue requested for unconfigured event device");
74         return 0;
75 }
76
77 void
78 event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
79 {
80         static void *dummy_data[RTE_MAX_QUEUES_PER_PORT];
81         static const struct rte_event_fp_ops dummy = {
82                 .enqueue = dummy_event_enqueue,
83                 .enqueue_burst = dummy_event_enqueue_burst,
84                 .enqueue_new_burst = dummy_event_enqueue_burst,
85                 .enqueue_forward_burst = dummy_event_enqueue_burst,
86                 .dequeue = dummy_event_dequeue,
87                 .dequeue_burst = dummy_event_dequeue_burst,
88                 .txa_enqueue = dummy_event_tx_adapter_enqueue,
89                 .txa_enqueue_same_dest =
90                         dummy_event_tx_adapter_enqueue_same_dest,
91                 .ca_enqueue = dummy_event_crypto_adapter_enqueue,
92                 .data = dummy_data,
93         };
94
95         *fp_op = dummy;
96 }
97
98 void
99 event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op,
100                      const struct rte_eventdev *dev)
101 {
102         fp_op->enqueue = dev->enqueue;
103         fp_op->enqueue_burst = dev->enqueue_burst;
104         fp_op->enqueue_new_burst = dev->enqueue_new_burst;
105         fp_op->enqueue_forward_burst = dev->enqueue_forward_burst;
106         fp_op->dequeue = dev->dequeue;
107         fp_op->dequeue_burst = dev->dequeue_burst;
108         fp_op->txa_enqueue = dev->txa_enqueue;
109         fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest;
110         fp_op->ca_enqueue = dev->ca_enqueue;
111         fp_op->data = dev->data->ports;
112 }