DPDK  25.11.0
rte_event_dma_adapter.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2023 Marvell.
3  */
4 
5 #ifndef RTE_EVENT_DMA_ADAPTER
6 #define RTE_EVENT_DMA_ADAPTER
7 
144 #include <stdint.h>
145 
146 #include <rte_common.h>
147 #include <rte_dmadev.h>
148 #include <rte_eventdev.h>
149 
150 #ifdef __cplusplus
151 extern "C" {
152 #endif
153 
174 };
175 
183  uint8_t event_port_id;
188  uint32_t max_nb;
193 };
194 
199  uint32_t max_nb;
213  uint32_t rsvd[15];
215 };
216 
234 typedef int (*rte_event_dma_adapter_conf_cb)(uint8_t id, uint8_t evdev_id,
235  struct rte_event_dma_adapter_conf *conf, void *arg);
236 
244  uint64_t event_deq_count;
247  uint64_t dma_enq_count;
253  uint64_t dma_deq_count;
256  uint64_t event_enq_count;
264 };
265 
286 __rte_experimental
287 int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
289  enum rte_event_dma_adapter_mode mode, void *conf_arg);
290 
312 __rte_experimental
313 int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
314  struct rte_event_port_conf *port_config,
315  enum rte_event_dma_adapter_mode mode);
316 
327 __rte_experimental
329 
344 __rte_experimental
345 int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
346 
366 __rte_experimental
367 int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan,
368  const struct rte_event *event);
369 
384 __rte_experimental
385 int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan);
386 
401 __rte_experimental
402 int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
403 
417 __rte_experimental
419 
430 __rte_experimental
432 
443 __rte_experimental
445 
463 __rte_experimental
465  struct rte_event_dma_adapter_runtime_params *params);
466 
481 __rte_experimental
483  struct rte_event_dma_adapter_runtime_params *params);
484 
497 __rte_experimental
499 
510 __rte_experimental
512 
547 __rte_experimental
548 uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[],
549  uint16_t nb_events);
550 
551 #ifdef __cplusplus
552 }
553 #endif
554 
555 #endif /* RTE_EVENT_DMA_ADAPTER */
__rte_experimental uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[], uint16_t nb_events)
int(* rte_event_dma_adapter_conf_cb)(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapter_conf *conf, void *arg)
__rte_experimental int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id)
rte_event_dma_adapter_mode
@ RTE_EVENT_DMA_ADAPTER_OP_NEW
@ RTE_EVENT_DMA_ADAPTER_OP_FORWARD
__rte_experimental int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
__rte_experimental int rte_event_dma_adapter_start(uint8_t id)
__rte_experimental int rte_event_dma_adapter_runtime_params_get(uint8_t id, struct rte_event_dma_adapter_runtime_params *params)
__rte_experimental int rte_event_dma_adapter_stats_reset(uint8_t id)
__rte_experimental int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan)
__rte_experimental int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id, rte_event_dma_adapter_conf_cb conf_cb, enum rte_event_dma_adapter_mode mode, void *conf_arg)
__rte_experimental int rte_event_dma_adapter_runtime_params_set(uint8_t id, struct rte_event_dma_adapter_runtime_params *params)
__rte_experimental int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan, const struct rte_event *event)
__rte_experimental int rte_event_dma_adapter_stop(uint8_t id)
__rte_experimental int rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params)
__rte_experimental int rte_event_dma_adapter_free(uint8_t id)
__rte_experimental int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port_conf *port_config, enum rte_event_dma_adapter_mode mode)
__rte_experimental int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats)