1*d35e6132SPavan Nikhilesh /* SPDX-License-Identifier: BSD-3-Clause 2*d35e6132SPavan Nikhilesh * Copyright(C) 2021 Marvell. 3*d35e6132SPavan Nikhilesh */ 4*d35e6132SPavan Nikhilesh 5*d35e6132SPavan Nikhilesh #include "eventdev_pmd.h" 6*d35e6132SPavan Nikhilesh #include "rte_eventdev.h" 7*d35e6132SPavan Nikhilesh 8*d35e6132SPavan Nikhilesh static uint16_t 9*d35e6132SPavan Nikhilesh dummy_event_enqueue(__rte_unused void *port, 10*d35e6132SPavan Nikhilesh __rte_unused const struct rte_event *ev) 11*d35e6132SPavan Nikhilesh { 12*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 13*d35e6132SPavan Nikhilesh "event enqueue requested for unconfigured event device"); 14*d35e6132SPavan Nikhilesh return 0; 15*d35e6132SPavan Nikhilesh } 16*d35e6132SPavan Nikhilesh 17*d35e6132SPavan Nikhilesh static uint16_t 18*d35e6132SPavan Nikhilesh dummy_event_enqueue_burst(__rte_unused void *port, 19*d35e6132SPavan Nikhilesh __rte_unused const struct rte_event ev[], 20*d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 21*d35e6132SPavan Nikhilesh { 22*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 23*d35e6132SPavan Nikhilesh "event enqueue burst requested for unconfigured event device"); 24*d35e6132SPavan Nikhilesh return 0; 25*d35e6132SPavan Nikhilesh } 26*d35e6132SPavan Nikhilesh 27*d35e6132SPavan Nikhilesh static uint16_t 28*d35e6132SPavan Nikhilesh dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev, 29*d35e6132SPavan Nikhilesh __rte_unused uint64_t timeout_ticks) 30*d35e6132SPavan Nikhilesh { 31*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 32*d35e6132SPavan Nikhilesh "event dequeue requested for unconfigured event device"); 33*d35e6132SPavan Nikhilesh return 0; 34*d35e6132SPavan Nikhilesh } 35*d35e6132SPavan Nikhilesh 36*d35e6132SPavan Nikhilesh static uint16_t 37*d35e6132SPavan Nikhilesh dummy_event_dequeue_burst(__rte_unused void *port, 38*d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 39*d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events, 40*d35e6132SPavan Nikhilesh __rte_unused uint64_t timeout_ticks) 41*d35e6132SPavan Nikhilesh { 42*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 43*d35e6132SPavan Nikhilesh "event dequeue burst requested for unconfigured event device"); 44*d35e6132SPavan Nikhilesh return 0; 45*d35e6132SPavan Nikhilesh } 46*d35e6132SPavan Nikhilesh 47*d35e6132SPavan Nikhilesh static uint16_t 48*d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue(__rte_unused void *port, 49*d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 50*d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 51*d35e6132SPavan Nikhilesh { 52*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 53*d35e6132SPavan Nikhilesh "event Tx adapter enqueue requested for unconfigured event device"); 54*d35e6132SPavan Nikhilesh return 0; 55*d35e6132SPavan Nikhilesh } 56*d35e6132SPavan Nikhilesh 57*d35e6132SPavan Nikhilesh static uint16_t 58*d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue_same_dest(__rte_unused void *port, 59*d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 60*d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 61*d35e6132SPavan Nikhilesh { 62*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 63*d35e6132SPavan Nikhilesh "event Tx adapter enqueue same destination requested for unconfigured event device"); 64*d35e6132SPavan Nikhilesh return 0; 65*d35e6132SPavan Nikhilesh } 66*d35e6132SPavan Nikhilesh 67*d35e6132SPavan Nikhilesh static uint16_t 68*d35e6132SPavan Nikhilesh dummy_event_crypto_adapter_enqueue(__rte_unused void *port, 69*d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 70*d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 71*d35e6132SPavan Nikhilesh { 72*d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 73*d35e6132SPavan Nikhilesh "event crypto adapter enqueue requested for unconfigured event device"); 74*d35e6132SPavan Nikhilesh return 0; 75*d35e6132SPavan Nikhilesh } 76*d35e6132SPavan Nikhilesh 77*d35e6132SPavan Nikhilesh void 78*d35e6132SPavan Nikhilesh event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op) 79*d35e6132SPavan Nikhilesh { 80*d35e6132SPavan Nikhilesh static void *dummy_data[RTE_MAX_QUEUES_PER_PORT]; 81*d35e6132SPavan Nikhilesh static const struct rte_event_fp_ops dummy = { 82*d35e6132SPavan Nikhilesh .enqueue = dummy_event_enqueue, 83*d35e6132SPavan Nikhilesh .enqueue_burst = dummy_event_enqueue_burst, 84*d35e6132SPavan Nikhilesh .enqueue_new_burst = dummy_event_enqueue_burst, 85*d35e6132SPavan Nikhilesh .enqueue_forward_burst = dummy_event_enqueue_burst, 86*d35e6132SPavan Nikhilesh .dequeue = dummy_event_dequeue, 87*d35e6132SPavan Nikhilesh .dequeue_burst = dummy_event_dequeue_burst, 88*d35e6132SPavan Nikhilesh .txa_enqueue = dummy_event_tx_adapter_enqueue, 89*d35e6132SPavan Nikhilesh .txa_enqueue_same_dest = 90*d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue_same_dest, 91*d35e6132SPavan Nikhilesh .ca_enqueue = dummy_event_crypto_adapter_enqueue, 92*d35e6132SPavan Nikhilesh .data = dummy_data, 93*d35e6132SPavan Nikhilesh }; 94*d35e6132SPavan Nikhilesh 95*d35e6132SPavan Nikhilesh *fp_op = dummy; 96*d35e6132SPavan Nikhilesh } 97*d35e6132SPavan Nikhilesh 98*d35e6132SPavan Nikhilesh void 99*d35e6132SPavan Nikhilesh event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op, 100*d35e6132SPavan Nikhilesh const struct rte_eventdev *dev) 101*d35e6132SPavan Nikhilesh { 102*d35e6132SPavan Nikhilesh fp_op->enqueue = dev->enqueue; 103*d35e6132SPavan Nikhilesh fp_op->enqueue_burst = dev->enqueue_burst; 104*d35e6132SPavan Nikhilesh fp_op->enqueue_new_burst = dev->enqueue_new_burst; 105*d35e6132SPavan Nikhilesh fp_op->enqueue_forward_burst = dev->enqueue_forward_burst; 106*d35e6132SPavan Nikhilesh fp_op->dequeue = dev->dequeue; 107*d35e6132SPavan Nikhilesh fp_op->dequeue_burst = dev->dequeue_burst; 108*d35e6132SPavan Nikhilesh fp_op->txa_enqueue = dev->txa_enqueue; 109*d35e6132SPavan Nikhilesh fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest; 110*d35e6132SPavan Nikhilesh fp_op->ca_enqueue = dev->ca_enqueue; 111*d35e6132SPavan Nikhilesh fp_op->data = dev->data->ports; 112*d35e6132SPavan Nikhilesh } 113