DPDK  21.02.0
rte_ioat_rawdev.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2019 Intel Corporation
3  */
4 
5 #ifndef _RTE_IOAT_RAWDEV_H_
6 #define _RTE_IOAT_RAWDEV_H_
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
21 #include <rte_common.h>
22 
24 #define IOAT_PMD_RAWDEV_NAME rawdev_ioat
25 
26 #define IOAT_PMD_RAWDEV_NAME_STR "rawdev_ioat"
27 
36  unsigned short ring_size;
37  bool hdls_disable;
38 };
39 
62 static inline int
63 __rte_experimental
64 rte_ioat_enqueue_fill(int dev_id, uint64_t pattern, phys_addr_t dst,
65  unsigned int length, uintptr_t dst_hdl);
66 
94 static inline int
95 __rte_experimental
96 rte_ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst,
97  unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl);
98 
114 static inline int
115 __rte_experimental
116 rte_ioat_fence(int dev_id);
117 
118 
128 static inline void
129 __rte_experimental
130 rte_ioat_perform_ops(int dev_id);
131 
163 static inline int
164 __rte_experimental
165 rte_ioat_completed_ops(int dev_id, uint8_t max_copies,
166  uintptr_t *src_hdls, uintptr_t *dst_hdls);
167 
168 /* include the implementation details from a separate file */
169 #include "rte_ioat_rawdev_fns.h"
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* _RTE_IOAT_RAWDEV_H_ */
static int __rte_experimental rte_ioat_enqueue_fill(int dev_id, uint64_t pattern, phys_addr_t dst, unsigned int length, uintptr_t dst_hdl)
static int __rte_experimental rte_ioat_fence(int dev_id)
static void __rte_experimental rte_ioat_perform_ops(int dev_id)
unsigned short ring_size
uint64_t phys_addr_t
Definition: rte_common.h:408
static int __rte_experimental rte_ioat_completed_ops(int dev_id, uint8_t max_copies, uintptr_t *src_hdls, uintptr_t *dst_hdls)
static int __rte_experimental rte_ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl)