1d35e6132SPavan Nikhilesh /* SPDX-License-Identifier: BSD-3-Clause 2d35e6132SPavan Nikhilesh * Copyright(C) 2021 Marvell. 3d35e6132SPavan Nikhilesh */ 4d35e6132SPavan Nikhilesh 5d35e6132SPavan Nikhilesh #include "eventdev_pmd.h" 6d35e6132SPavan Nikhilesh #include "rte_eventdev.h" 7d35e6132SPavan Nikhilesh 8d35e6132SPavan Nikhilesh static uint16_t 9d35e6132SPavan Nikhilesh dummy_event_enqueue(__rte_unused void *port, 10d35e6132SPavan Nikhilesh __rte_unused const struct rte_event *ev) 11d35e6132SPavan Nikhilesh { 12d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 13d35e6132SPavan Nikhilesh "event enqueue requested for unconfigured event device"); 14d35e6132SPavan Nikhilesh return 0; 15d35e6132SPavan Nikhilesh } 16d35e6132SPavan Nikhilesh 17d35e6132SPavan Nikhilesh static uint16_t 18d35e6132SPavan Nikhilesh dummy_event_enqueue_burst(__rte_unused void *port, 19d35e6132SPavan Nikhilesh __rte_unused const struct rte_event ev[], 20d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 21d35e6132SPavan Nikhilesh { 22d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 23d35e6132SPavan Nikhilesh "event enqueue burst requested for unconfigured event device"); 24d35e6132SPavan Nikhilesh return 0; 25d35e6132SPavan Nikhilesh } 26d35e6132SPavan Nikhilesh 27d35e6132SPavan Nikhilesh static uint16_t 28d35e6132SPavan Nikhilesh dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev, 29d35e6132SPavan Nikhilesh __rte_unused uint64_t timeout_ticks) 30d35e6132SPavan Nikhilesh { 31d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 32d35e6132SPavan Nikhilesh "event dequeue requested for unconfigured event device"); 33d35e6132SPavan Nikhilesh return 0; 34d35e6132SPavan Nikhilesh } 35d35e6132SPavan Nikhilesh 36d35e6132SPavan Nikhilesh static uint16_t 37d35e6132SPavan Nikhilesh dummy_event_dequeue_burst(__rte_unused void *port, 38d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 39d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events, 40d35e6132SPavan Nikhilesh __rte_unused uint64_t timeout_ticks) 41d35e6132SPavan Nikhilesh { 42d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 43d35e6132SPavan Nikhilesh "event dequeue burst requested for unconfigured event device"); 44d35e6132SPavan Nikhilesh return 0; 45d35e6132SPavan Nikhilesh } 46d35e6132SPavan Nikhilesh 4754f17843SMattias Rönnblom static void 4854f17843SMattias Rönnblom dummy_event_maintain(__rte_unused void *port, __rte_unused int op) 4954f17843SMattias Rönnblom { 5054f17843SMattias Rönnblom RTE_EDEV_LOG_ERR( 5154f17843SMattias Rönnblom "maintenance requested for unconfigured event device"); 5254f17843SMattias Rönnblom } 5354f17843SMattias Rönnblom 54d35e6132SPavan Nikhilesh static uint16_t 55d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue(__rte_unused void *port, 56d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 57d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 58d35e6132SPavan Nikhilesh { 59d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 60d35e6132SPavan Nikhilesh "event Tx adapter enqueue requested for unconfigured event device"); 61d35e6132SPavan Nikhilesh return 0; 62d35e6132SPavan Nikhilesh } 63d35e6132SPavan Nikhilesh 64d35e6132SPavan Nikhilesh static uint16_t 65d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue_same_dest(__rte_unused void *port, 66d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 67d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 68d35e6132SPavan Nikhilesh { 69d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 70d35e6132SPavan Nikhilesh "event Tx adapter enqueue same destination requested for unconfigured event device"); 71d35e6132SPavan Nikhilesh return 0; 72d35e6132SPavan Nikhilesh } 73d35e6132SPavan Nikhilesh 74d35e6132SPavan Nikhilesh static uint16_t 75d35e6132SPavan Nikhilesh dummy_event_crypto_adapter_enqueue(__rte_unused void *port, 76d35e6132SPavan Nikhilesh __rte_unused struct rte_event ev[], 77d35e6132SPavan Nikhilesh __rte_unused uint16_t nb_events) 78d35e6132SPavan Nikhilesh { 79d35e6132SPavan Nikhilesh RTE_EDEV_LOG_ERR( 80d35e6132SPavan Nikhilesh "event crypto adapter enqueue requested for unconfigured event device"); 81d35e6132SPavan Nikhilesh return 0; 82d35e6132SPavan Nikhilesh } 83d35e6132SPavan Nikhilesh 8466a30a29SAmit Prakash Shukla static uint16_t 8566a30a29SAmit Prakash Shukla dummy_event_dma_adapter_enqueue(__rte_unused void *port, __rte_unused struct rte_event ev[], 8666a30a29SAmit Prakash Shukla __rte_unused uint16_t nb_events) 8766a30a29SAmit Prakash Shukla { 8866a30a29SAmit Prakash Shukla RTE_EDEV_LOG_ERR("event DMA adapter enqueue requested for unconfigured event device"); 8966a30a29SAmit Prakash Shukla return 0; 9066a30a29SAmit Prakash Shukla } 9166a30a29SAmit Prakash Shukla 92*d007a7f3SPavan Nikhilesh static int 93*d007a7f3SPavan Nikhilesh dummy_event_port_profile_switch(__rte_unused void *port, __rte_unused uint8_t profile_id) 94*d007a7f3SPavan Nikhilesh { 95*d007a7f3SPavan Nikhilesh RTE_EDEV_LOG_ERR("change profile requested for unconfigured event device"); 96*d007a7f3SPavan Nikhilesh return -EINVAL; 97*d007a7f3SPavan Nikhilesh } 98*d007a7f3SPavan Nikhilesh 99d35e6132SPavan Nikhilesh void 100d35e6132SPavan Nikhilesh event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op) 101d35e6132SPavan Nikhilesh { 102d35e6132SPavan Nikhilesh static void *dummy_data[RTE_MAX_QUEUES_PER_PORT]; 103d35e6132SPavan Nikhilesh static const struct rte_event_fp_ops dummy = { 104d35e6132SPavan Nikhilesh .enqueue = dummy_event_enqueue, 105d35e6132SPavan Nikhilesh .enqueue_burst = dummy_event_enqueue_burst, 106d35e6132SPavan Nikhilesh .enqueue_new_burst = dummy_event_enqueue_burst, 107d35e6132SPavan Nikhilesh .enqueue_forward_burst = dummy_event_enqueue_burst, 108d35e6132SPavan Nikhilesh .dequeue = dummy_event_dequeue, 109d35e6132SPavan Nikhilesh .dequeue_burst = dummy_event_dequeue_burst, 11054f17843SMattias Rönnblom .maintain = dummy_event_maintain, 111d35e6132SPavan Nikhilesh .txa_enqueue = dummy_event_tx_adapter_enqueue, 112d35e6132SPavan Nikhilesh .txa_enqueue_same_dest = 113d35e6132SPavan Nikhilesh dummy_event_tx_adapter_enqueue_same_dest, 114d35e6132SPavan Nikhilesh .ca_enqueue = dummy_event_crypto_adapter_enqueue, 11566a30a29SAmit Prakash Shukla .dma_enqueue = dummy_event_dma_adapter_enqueue, 116*d007a7f3SPavan Nikhilesh .profile_switch = dummy_event_port_profile_switch, 117d35e6132SPavan Nikhilesh .data = dummy_data, 118d35e6132SPavan Nikhilesh }; 119d35e6132SPavan Nikhilesh 120d35e6132SPavan Nikhilesh *fp_op = dummy; 121d35e6132SPavan Nikhilesh } 122d35e6132SPavan Nikhilesh 123d35e6132SPavan Nikhilesh void 124d35e6132SPavan Nikhilesh event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op, 125d35e6132SPavan Nikhilesh const struct rte_eventdev *dev) 126d35e6132SPavan Nikhilesh { 127d35e6132SPavan Nikhilesh fp_op->enqueue = dev->enqueue; 128d35e6132SPavan Nikhilesh fp_op->enqueue_burst = dev->enqueue_burst; 129d35e6132SPavan Nikhilesh fp_op->enqueue_new_burst = dev->enqueue_new_burst; 130d35e6132SPavan Nikhilesh fp_op->enqueue_forward_burst = dev->enqueue_forward_burst; 131d35e6132SPavan Nikhilesh fp_op->dequeue = dev->dequeue; 132d35e6132SPavan Nikhilesh fp_op->dequeue_burst = dev->dequeue_burst; 13354f17843SMattias Rönnblom fp_op->maintain = dev->maintain; 134d35e6132SPavan Nikhilesh fp_op->txa_enqueue = dev->txa_enqueue; 135d35e6132SPavan Nikhilesh fp_op->txa_enqueue_same_dest = dev->txa_enqueue_same_dest; 136d35e6132SPavan Nikhilesh fp_op->ca_enqueue = dev->ca_enqueue; 13766a30a29SAmit Prakash Shukla fp_op->dma_enqueue = dev->dma_enqueue; 138*d007a7f3SPavan Nikhilesh fp_op->profile_switch = dev->profile_switch; 139d35e6132SPavan Nikhilesh fp_op->data = dev->data->ports; 140d35e6132SPavan Nikhilesh } 141