Branch data Line data Source code
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 : 0 : dummy_event_enqueue(__rte_unused void *port, 10 : : __rte_unused const struct rte_event *ev) 11 : : { 12 : 0 : RTE_EDEV_LOG_ERR( 13 : : "event enqueue requested for unconfigured event device"); 14 : 0 : return 0; 15 : : } 16 : : 17 : : static uint16_t 18 : 0 : 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 : 0 : RTE_EDEV_LOG_ERR( 23 : : "event enqueue burst requested for unconfigured event device"); 24 : 0 : return 0; 25 : : } 26 : : 27 : : static uint16_t 28 : 0 : dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev, 29 : : __rte_unused uint64_t timeout_ticks) 30 : : { 31 : 0 : RTE_EDEV_LOG_ERR( 32 : : "event dequeue requested for unconfigured event device"); 33 : 0 : return 0; 34 : : } 35 : : 36 : : static uint16_t 37 : 0 : 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 : 0 : RTE_EDEV_LOG_ERR( 43 : : "event dequeue burst requested for unconfigured event device"); 44 : 0 : return 0; 45 : : } 46 : : 47 : : static void 48 : 0 : dummy_event_maintain(__rte_unused void *port, __rte_unused int op) 49 : : { 50 : 0 : RTE_EDEV_LOG_ERR( 51 : : "maintenance requested for unconfigured event device"); 52 : 0 : } 53 : : 54 : : static uint16_t 55 : 0 : 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 : 0 : RTE_EDEV_LOG_ERR( 60 : : "event Tx adapter enqueue requested for unconfigured event device"); 61 : 0 : return 0; 62 : : } 63 : : 64 : : static uint16_t 65 : 0 : 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 : 0 : RTE_EDEV_LOG_ERR( 70 : : "event Tx adapter enqueue same destination requested for unconfigured event device"); 71 : 0 : return 0; 72 : : } 73 : : 74 : : static uint16_t 75 : 0 : 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 : 0 : RTE_EDEV_LOG_ERR( 80 : : "event crypto adapter enqueue requested for unconfigured event device"); 81 : 0 : return 0; 82 : : } 83 : : 84 : : static uint16_t 85 : 0 : dummy_event_dma_adapter_enqueue(__rte_unused void *port, __rte_unused struct rte_event ev[], 86 : : __rte_unused uint16_t nb_events) 87 : : { 88 : 0 : RTE_EDEV_LOG_ERR("event DMA adapter enqueue requested for unconfigured event device"); 89 : 0 : return 0; 90 : : } 91 : : 92 : : static int 93 : 0 : dummy_event_port_profile_switch(__rte_unused void *port, __rte_unused uint8_t profile_id) 94 : : { 95 : 0 : RTE_EDEV_LOG_ERR("change profile requested for unconfigured event device"); 96 : 0 : return -EINVAL; 97 : : } 98 : : 99 : : void 100 : 168 : event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op) 101 : : { 102 : : static void *dummy_data[RTE_MAX_QUEUES_PER_PORT]; 103 : : static const struct rte_event_fp_ops dummy = { 104 : : .enqueue = dummy_event_enqueue, 105 : : .enqueue_burst = dummy_event_enqueue_burst, 106 : : .enqueue_new_burst = dummy_event_enqueue_burst, 107 : : .enqueue_forward_burst = dummy_event_enqueue_burst, 108 : : .dequeue = dummy_event_dequeue, 109 : : .dequeue_burst = dummy_event_dequeue_burst, 110 : : .maintain = dummy_event_maintain, 111 : : .txa_enqueue = dummy_event_tx_adapter_enqueue, 112 : : .txa_enqueue_same_dest = 113 : : dummy_event_tx_adapter_enqueue_same_dest, 114 : : .ca_enqueue = dummy_event_crypto_adapter_enqueue, 115 : : .dma_enqueue = dummy_event_dma_adapter_enqueue, 116 : : .profile_switch = dummy_event_port_profile_switch, 117 : : .data = dummy_data, 118 : : }; 119 : : 120 : 168 : *fp_op = dummy; 121 : 168 : } 122 : : 123 : : void 124 : 68 : event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op, 125 : : const struct rte_eventdev *dev) 126 : : { 127 : 68 : fp_op->enqueue = dev->enqueue; 128 : 68 : fp_op->enqueue_burst = dev->enqueue_burst; 129 : 68 : fp_op->enqueue_new_burst = dev->enqueue_new_burst; 130 : 68 : fp_op->enqueue_forward_burst = dev->enqueue_forward_burst; 131 : 68 : fp_op->dequeue = dev->dequeue; 132 : 68 : fp_op->dequeue_burst = dev->dequeue_burst; 133 : 68 : fp_op->maintain = dev->maintain; 134 : 68 : fp_op->txa_enqueue = dev->txa_enqueue; 135 : 68 : fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest; 136 : 68 : fp_op->ca_enqueue = dev->ca_enqueue; 137 : 68 : fp_op->dma_enqueue = dev->dma_enqueue; 138 : 68 : fp_op->profile_switch = dev->profile_switch; 139 : 68 : fp_op->data = dev->data->ports; 140 : 68 : }