DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_dmadev_core.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2021 HiSilicon Limited
3
* Copyright(c) 2021 Intel Corporation
4
*/
5
6
#ifndef RTE_DMADEV_CORE_H
7
#define RTE_DMADEV_CORE_H
8
19
21
typedef
int (*rte_dma_copy_t)(
void
*dev_private, uint16_t vchan,
22
rte_iova_t
src,
rte_iova_t
dst,
23
uint32_t length, uint64_t flags);
24
26
typedef
int (*rte_dma_copy_sg_t)(
void
*dev_private, uint16_t vchan,
27
const
struct
rte_dma_sge
*src,
28
const
struct
rte_dma_sge
*dst,
29
uint16_t nb_src, uint16_t nb_dst,
30
uint64_t flags);
31
33
typedef
int (*rte_dma_fill_t)(
void
*dev_private, uint16_t vchan,
34
uint64_t pattern,
rte_iova_t
dst,
35
uint32_t
length
, uint64_t flags);
36
38
typedef
int (*rte_dma_submit_t)(
void
*dev_private, uint16_t vchan);
39
41
typedef
uint16_t (*rte_dma_completed_t)(
void
*dev_private,
42
uint16_t vchan,
const
uint16_t nb_cpls,
43
uint16_t *last_idx,
bool
*has_error);
44
46
typedef
uint16_t (*rte_dma_completed_status_t)(
void
*dev_private,
47
uint16_t vchan,
const
uint16_t nb_cpls,
48
uint16_t *last_idx,
enum
rte_dma_status_code
*status);
49
51
typedef
uint16_t (*rte_dma_burst_capacity_t)(
const
void
*dev_private, uint16_t vchan);
52
54
typedef
uint16_t (*rte_dma_enqueue_ops_t)(
void
*dev_private, uint16_t vchan,
55
struct
rte_dma_op
**ops, uint16_t nb_ops);
56
58
typedef
uint16_t (*rte_dma_dequeue_ops_t)(
void
*dev_private, uint16_t
vchan
,
59
struct
rte_dma_op
**ops, uint16_t nb_ops);
60
72
struct
__rte_cache_aligned
rte_dma_fp_object {
76
void
*dev_private;
77
rte_dma_copy_t copy;
78
rte_dma_copy_sg_t copy_sg;
79
rte_dma_fill_t fill;
80
rte_dma_submit_t submit;
81
rte_dma_completed_t completed;
82
rte_dma_completed_status_t completed_status;
83
rte_dma_burst_capacity_t burst_capacity;
84
rte_dma_enqueue_ops_t enqueue;
85
rte_dma_dequeue_ops_t dequeue;
86
};
87
88
extern
struct
rte_dma_fp_object *rte_dma_fp_objs;
89
90
#endif
/* RTE_DMADEV_CORE_H */
rte_iova_t
uint64_t rte_iova_t
Definition
rte_common.h:770
__rte_cache_aligned
#define __rte_cache_aligned
Definition
rte_common.h:739
rte_dma_status_code
rte_dma_status_code
Definition
rte_dmadev.h:983
rte_dma_op
Definition
rte_dmadev.h:1057
rte_dma_op::vchan
uint16_t vchan
Definition
rte_dmadev.h:1100
rte_dma_sge
Definition
rte_dmadev.h:1047
rte_dma_sge::length
uint32_t length
Definition
rte_dmadev.h:1049
lib
dmadev
rte_dmadev_core.h
Generated by
1.17.0