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 void 48 dummy_event_maintain(__rte_unused void *port, __rte_unused int op) 49 { 50 RTE_EDEV_LOG_ERR( 51 "maintenance requested for unconfigured event device"); 52 } 53 54 static uint16_t 55 dummy_event_tx_adapter_enqueue(__rte_unused void *port, 56 __rte_unused struct rte_event ev[], 57 __rte_unused uint16_t nb_events) 58 { 59 RTE_EDEV_LOG_ERR( 60 "event Tx adapter enqueue requested for unconfigured event device"); 61 return 0; 62 } 63 64 static uint16_t 65 dummy_event_tx_adapter_enqueue_same_dest(__rte_unused void *port, 66 __rte_unused struct rte_event ev[], 67 __rte_unused uint16_t nb_events) 68 { 69 RTE_EDEV_LOG_ERR( 70 "event Tx adapter enqueue same destination requested for unconfigured event device"); 71 return 0; 72 } 73 74 static uint16_t 75 dummy_event_crypto_adapter_enqueue(__rte_unused void *port, 76 __rte_unused struct rte_event ev[], 77 __rte_unused uint16_t nb_events) 78 { 79 RTE_EDEV_LOG_ERR( 80 "event crypto adapter enqueue requested for unconfigured event device"); 81 return 0; 82 } 83 84 void 85 event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op) 86 { 87 static void *dummy_data[RTE_MAX_QUEUES_PER_PORT]; 88 static const struct rte_event_fp_ops dummy = { 89 .enqueue = dummy_event_enqueue, 90 .enqueue_burst = dummy_event_enqueue_burst, 91 .enqueue_new_burst = dummy_event_enqueue_burst, 92 .enqueue_forward_burst = dummy_event_enqueue_burst, 93 .dequeue = dummy_event_dequeue, 94 .dequeue_burst = dummy_event_dequeue_burst, 95 .maintain = dummy_event_maintain, 96 .txa_enqueue = dummy_event_tx_adapter_enqueue, 97 .txa_enqueue_same_dest = 98 dummy_event_tx_adapter_enqueue_same_dest, 99 .ca_enqueue = dummy_event_crypto_adapter_enqueue, 100 .data = dummy_data, 101 }; 102 103 *fp_op = dummy; 104 } 105 106 void 107 event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op, 108 const struct rte_eventdev *dev) 109 { 110 fp_op->enqueue = dev->enqueue; 111 fp_op->enqueue_burst = dev->enqueue_burst; 112 fp_op->enqueue_new_burst = dev->enqueue_new_burst; 113 fp_op->enqueue_forward_burst = dev->enqueue_forward_burst; 114 fp_op->dequeue = dev->dequeue; 115 fp_op->dequeue_burst = dev->dequeue_burst; 116 fp_op->maintain = dev->maintain; 117 fp_op->txa_enqueue = dev->txa_enqueue; 118 fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest; 119 fp_op->ca_enqueue = dev->ca_enqueue; 120 fp_op->data = dev->data->ports; 121 } 122