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