DPDK  24.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 
144 #include <stdint.h>
145 
146 #include <rte_common.h>
147 #include <rte_dmadev_pmd.h>
148 #include <rte_eventdev.h>
149 
150 #ifdef __cplusplus
151 extern "C" {
152 #endif
153 
164  uint16_t nb_src;
166  uint16_t nb_dst;
168  uint64_t flags;
172  int16_t dma_dev_id;
174  uint16_t vchan;
178 };
179 
200 };
201 
209  uint8_t event_port_id;
214  uint32_t max_nb;
219 };
220 
225  uint32_t max_nb;
239  uint32_t rsvd[15];
241 };
242 
260 typedef int (*rte_event_dma_adapter_conf_cb)(uint8_t id, uint8_t evdev_id,
261  struct rte_event_dma_adapter_conf *conf, void *arg);
262 
270  uint64_t event_deq_count;
273  uint64_t dma_enq_count;
279  uint64_t dma_deq_count;
282  uint64_t event_enq_count;
290 };
291 
312 __rte_experimental
313 int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
315  enum rte_event_dma_adapter_mode mode, void *conf_arg);
316 
338 __rte_experimental
339 int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
340  struct rte_event_port_conf *port_config,
341  enum rte_event_dma_adapter_mode mode);
342 
353 __rte_experimental
354 int rte_event_dma_adapter_free(uint8_t id);
355 
370 __rte_experimental
371 int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
372 
392 __rte_experimental
393 int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan,
394  const struct rte_event *event);
395 
410 __rte_experimental
411 int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan);
412 
427 __rte_experimental
428 int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
429 
443 __rte_experimental
444 int rte_event_dma_adapter_start(uint8_t id);
445 
456 __rte_experimental
457 int rte_event_dma_adapter_stop(uint8_t id);
458 
469 __rte_experimental
471 
489 __rte_experimental
491  struct rte_event_dma_adapter_runtime_params *params);
492 
507 __rte_experimental
509  struct rte_event_dma_adapter_runtime_params *params);
510 
523 __rte_experimental
524 int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats);
525 
536 __rte_experimental
537 int rte_event_dma_adapter_stats_reset(uint8_t id);
538 
573 __rte_experimental
574 uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[],
575  uint16_t nb_events);
576 
577 #ifdef __cplusplus
578 }
579 #endif
580 
581 #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)
struct rte_dma_sge * dst_seg
__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)
struct rte_dma_sge * src_seg
__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)