DPDK  26.03.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 
143 #include <stdint.h>
144 
145 #include <rte_common.h>
146 #include <rte_dmadev.h>
147 #include <rte_eventdev.h>
148 
149 #ifdef __cplusplus
150 extern "C" {
151 #endif
152 
173 };
174 
182  uint8_t event_port_id;
187  uint32_t max_nb;
192 };
193 
198  uint32_t max_nb;
212  uint32_t rsvd[15];
214 };
215 
233 typedef int (*rte_event_dma_adapter_conf_cb)(uint8_t id, uint8_t evdev_id,
234  struct rte_event_dma_adapter_conf *conf, void *arg);
235 
243  uint64_t event_deq_count;
246  uint64_t dma_enq_count;
252  uint64_t dma_deq_count;
255  uint64_t event_enq_count;
263 };
264 
285 __rte_experimental
286 int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
288  enum rte_event_dma_adapter_mode mode, void *conf_arg);
289 
311 __rte_experimental
312 int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
313  struct rte_event_port_conf *port_config,
314  enum rte_event_dma_adapter_mode mode);
315 
326 __rte_experimental
327 int rte_event_dma_adapter_free(uint8_t id);
328 
343 __rte_experimental
344 int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
345 
365 __rte_experimental
366 int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan,
367  const struct rte_event *event);
368 
383 __rte_experimental
384 int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan);
385 
400 __rte_experimental
401 int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
402 
416 __rte_experimental
417 int rte_event_dma_adapter_start(uint8_t id);
418 
429 __rte_experimental
430 int rte_event_dma_adapter_stop(uint8_t id);
431 
442 __rte_experimental
444 
462 __rte_experimental
464  struct rte_event_dma_adapter_runtime_params *params);
465 
480 __rte_experimental
482  struct rte_event_dma_adapter_runtime_params *params);
483 
496 __rte_experimental
497 int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats);
498 
509 __rte_experimental
510 int rte_event_dma_adapter_stats_reset(uint8_t id);
511 
546 __rte_experimental
547 uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[],
548  uint16_t nb_events);
549 
550 #ifdef __cplusplus
551 }
552 #endif
553 
554 #endif /* RTE_EVENT_DMA_ADAPTER */
__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_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan, const struct rte_event *event)
__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)
__rte_experimental int rte_event_dma_adapter_stop(uint8_t id)
__rte_experimental int rte_event_dma_adapter_stats_reset(uint8_t id)
__rte_experimental int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_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_start(uint8_t id)
__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)
__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_free(uint8_t id)
__rte_experimental int rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params)
int(* rte_event_dma_adapter_conf_cb)(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapter_conf *conf, void *arg)
rte_event_dma_adapter_mode
__rte_experimental int rte_event_dma_adapter_runtime_params_set(uint8_t id, struct rte_event_dma_adapter_runtime_params *params)