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 <eal_export.h> 7 : : #include "rte_eventdev.h" 8 : : 9 : : static uint16_t 10 : 0 : dummy_event_enqueue_burst(__rte_unused void *port, 11 : : __rte_unused const struct rte_event ev[], 12 : : __rte_unused uint16_t nb_events) 13 : : { 14 : 0 : RTE_EDEV_LOG_ERR( 15 : : "event enqueue burst requested for unconfigured event device"); 16 : 0 : return 0; 17 : : } 18 : : 19 : : static uint16_t 20 : 0 : dummy_event_dequeue_burst(__rte_unused void *port, 21 : : __rte_unused struct rte_event ev[], 22 : : __rte_unused uint16_t nb_events, 23 : : __rte_unused uint64_t timeout_ticks) 24 : : { 25 : 0 : RTE_EDEV_LOG_ERR( 26 : : "event dequeue burst requested for unconfigured event device"); 27 : 0 : return 0; 28 : : } 29 : : 30 : : static void 31 : 0 : dummy_event_maintain(__rte_unused void *port, __rte_unused int op) 32 : : { 33 : 0 : RTE_EDEV_LOG_ERR( 34 : : "maintenance requested for unconfigured event device"); 35 : 0 : } 36 : : 37 : : static uint16_t 38 : 0 : dummy_event_tx_adapter_enqueue(__rte_unused void *port, 39 : : __rte_unused struct rte_event ev[], 40 : : __rte_unused uint16_t nb_events) 41 : : { 42 : 0 : RTE_EDEV_LOG_ERR( 43 : : "event Tx adapter enqueue requested for unconfigured event device"); 44 : 0 : return 0; 45 : : } 46 : : 47 : : static uint16_t 48 : 0 : dummy_event_tx_adapter_enqueue_same_dest(__rte_unused void *port, 49 : : __rte_unused struct rte_event ev[], 50 : : __rte_unused uint16_t nb_events) 51 : : { 52 : 0 : RTE_EDEV_LOG_ERR( 53 : : "event Tx adapter enqueue same destination requested for unconfigured event device"); 54 : 0 : return 0; 55 : : } 56 : : 57 : : static uint16_t 58 : 0 : dummy_event_crypto_adapter_enqueue(__rte_unused void *port, 59 : : __rte_unused struct rte_event ev[], 60 : : __rte_unused uint16_t nb_events) 61 : : { 62 : 0 : RTE_EDEV_LOG_ERR( 63 : : "event crypto adapter enqueue requested for unconfigured event device"); 64 : 0 : return 0; 65 : : } 66 : : 67 : : static uint16_t 68 : 0 : dummy_event_dma_adapter_enqueue(__rte_unused void *port, __rte_unused struct rte_event ev[], 69 : : __rte_unused uint16_t nb_events) 70 : : { 71 : 0 : RTE_EDEV_LOG_ERR("event DMA adapter enqueue requested for unconfigured event device"); 72 : 0 : return 0; 73 : : } 74 : : 75 : : static int 76 : 0 : dummy_event_port_profile_switch(__rte_unused void *port, __rte_unused uint8_t profile_id) 77 : : { 78 : 0 : RTE_EDEV_LOG_ERR("change profile requested for unconfigured event device"); 79 : 0 : return -EINVAL; 80 : : } 81 : : 82 : : static int 83 : 0 : dummy_event_port_preschedule_modify(__rte_unused void *port, 84 : : __rte_unused enum rte_event_dev_preschedule_type preschedule) 85 : : { 86 : 0 : RTE_EDEV_LOG_ERR("modify pre-schedule requested for unconfigured event device"); 87 : 0 : return -EINVAL; 88 : : } 89 : : 90 : : static int 91 : 0 : dummy_event_port_preschedule_modify_hint( 92 : : __rte_unused void *port, __rte_unused enum rte_event_dev_preschedule_type preschedule) 93 : : { 94 : 0 : return -ENOTSUP; 95 : : } 96 : : 97 : : static void 98 : 0 : dummy_event_port_preschedule(__rte_unused void *port, 99 : : __rte_unused enum rte_event_dev_preschedule_type preschedule) 100 : : { 101 : 0 : RTE_EDEV_LOG_ERR("pre-schedule requested for unconfigured event device"); 102 : 0 : } 103 : : 104 : : static void 105 : 0 : dummy_event_port_preschedule_hint(__rte_unused void *port, 106 : : __rte_unused enum rte_event_dev_preschedule_type preschedule) 107 : : { 108 : 0 : } 109 : : 110 : : RTE_EXPORT_INTERNAL_SYMBOL(event_dev_fp_ops_reset) 111 : : void 112 : 170 : event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op) 113 : : { 114 : : static void *dummy_data[RTE_MAX_QUEUES_PER_PORT]; 115 : : static const struct rte_event_fp_ops dummy = { 116 : : .enqueue_burst = dummy_event_enqueue_burst, 117 : : .enqueue_new_burst = dummy_event_enqueue_burst, 118 : : .enqueue_forward_burst = dummy_event_enqueue_burst, 119 : : .dequeue_burst = dummy_event_dequeue_burst, 120 : : .maintain = dummy_event_maintain, 121 : : .txa_enqueue = dummy_event_tx_adapter_enqueue, 122 : : .txa_enqueue_same_dest = dummy_event_tx_adapter_enqueue_same_dest, 123 : : .ca_enqueue = dummy_event_crypto_adapter_enqueue, 124 : : .dma_enqueue = dummy_event_dma_adapter_enqueue, 125 : : .profile_switch = dummy_event_port_profile_switch, 126 : : .preschedule_modify = dummy_event_port_preschedule_modify, 127 : : .preschedule = dummy_event_port_preschedule, 128 : : .data = dummy_data, 129 : : }; 130 : : 131 : 170 : *fp_op = dummy; 132 : 170 : } 133 : : 134 : : RTE_EXPORT_INTERNAL_SYMBOL(event_dev_fp_ops_set) 135 : : void 136 : 68 : event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op, 137 : : const struct rte_eventdev *dev) 138 : : { 139 : 68 : fp_op->enqueue_burst = dev->enqueue_burst; 140 : 68 : fp_op->enqueue_new_burst = dev->enqueue_new_burst; 141 : 68 : fp_op->enqueue_forward_burst = dev->enqueue_forward_burst; 142 : 68 : fp_op->dequeue_burst = dev->dequeue_burst; 143 : 68 : fp_op->maintain = dev->maintain; 144 : 68 : fp_op->txa_enqueue = dev->txa_enqueue; 145 : 68 : fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest; 146 : 68 : fp_op->ca_enqueue = dev->ca_enqueue; 147 : 68 : fp_op->dma_enqueue = dev->dma_enqueue; 148 : 68 : fp_op->profile_switch = dev->profile_switch; 149 : 68 : fp_op->preschedule_modify = dev->preschedule_modify; 150 : 68 : fp_op->preschedule = dev->preschedule; 151 : 68 : fp_op->data = dev->data->ports; 152 : : 153 [ + - ]: 68 : if (fp_op->preschedule_modify == NULL) 154 : 68 : fp_op->preschedule_modify = dummy_event_port_preschedule_modify_hint; 155 : : 156 [ + - ]: 68 : if (fp_op->preschedule == NULL) 157 : 68 : fp_op->preschedule = dummy_event_port_preschedule_hint; 158 : 68 : }