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 } 113