DPDK 25.03.0-rc0
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
151extern "C" {
152#endif
153
160 uint64_t flags;
168 uint32_t rsvd;
170 uint64_t impl_opaque[2];
177 uint64_t user_meta;
181 uint64_t event_meta;
195 int16_t dma_dev_id;
199 uint16_t vchan;
203 uint16_t nb_src;
205 uint16_t nb_dst;
209};
210
231};
232
240 uint8_t event_port_id;
245 uint32_t max_nb;
250};
251
256 uint32_t max_nb;
270 uint32_t rsvd[15];
272};
273
291typedef int (*rte_event_dma_adapter_conf_cb)(uint8_t id, uint8_t evdev_id,
292 struct rte_event_dma_adapter_conf *conf, void *arg);
293
321};
322
343__rte_experimental
344int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
346 enum rte_event_dma_adapter_mode mode, void *conf_arg);
347
369__rte_experimental
370int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
371 struct rte_event_port_conf *port_config,
373
384__rte_experimental
386
401__rte_experimental
402int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
403
423__rte_experimental
424int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan,
425 const struct rte_event *event);
426
441__rte_experimental
442int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan);
443
458__rte_experimental
459int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
460
474__rte_experimental
476
487__rte_experimental
489
500__rte_experimental
502
520__rte_experimental
523
538__rte_experimental
541
554__rte_experimental
556
567__rte_experimental
569
604__rte_experimental
605uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[],
606 uint16_t nb_events);
607
608#ifdef __cplusplus
609}
610#endif
611
612#endif /* RTE_EVENT_DMA_ADAPTER */
rte_dma_status_code
Definition: rte_dmadev.h:725
__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)
enum rte_dma_status_code status
struct rte_dma_sge src_dst_seg[]