DPDK 21.11.9
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
9extern "C" {
10#endif
11
21#include <rte_common.h>
22
24#define IOAT_PMD_RAWDEV_NAME rawdev_ioat
26#define IOAT_PMD_RAWDEV_NAME_STR "rawdev_ioat"
27
36 unsigned short ring_size;
42};
43
66static inline int
67__rte_experimental
68rte_ioat_enqueue_fill(int dev_id, uint64_t pattern, phys_addr_t dst,
69 unsigned int length, uintptr_t dst_hdl);
70
98static inline int
99__rte_experimental
101 unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl);
102
118static inline int
119__rte_experimental
120rte_ioat_fence(int dev_id);
121
122
134static inline int
135__rte_experimental
137
138/*
139 * Status codes for operations.
140 */
141#define RTE_IOAT_OP_SUCCESS 0
142#define RTE_IOAT_OP_SKIPPED 1
143/* Values >1 indicate a failure condition */
144/* Error codes taken from Intel(R) Data Streaming Accelerator Architecture
145 * Specification, section 5.7
146 */
147#define RTE_IOAT_OP_ADDRESS_ERR 0x03
148#define RTE_IOAT_OP_INVALID_LEN 0x13
149#define RTE_IOAT_OP_OVERLAPPING_BUFS 0x16
201static inline int
202__rte_experimental
203rte_ioat_completed_ops(int dev_id, uint8_t max_copies,
204 uint32_t *status, uint8_t *num_unsuccessful,
205 uintptr_t *src_hdls, uintptr_t *dst_hdls);
206
207/* include the implementation details from a separate file */
208#include "rte_ioat_rawdev_fns.h"
209
210#ifdef __cplusplus
211}
212#endif
213
214#endif /* _RTE_IOAT_RAWDEV_H_ */
uint64_t phys_addr_t
Definition: rte_common.h:428
static int __rte_experimental rte_ioat_completed_ops(int dev_id, uint8_t max_copies, uint32_t *status, uint8_t *num_unsuccessful, uintptr_t *src_hdls, uintptr_t *dst_hdls)
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_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl)
static int __rte_experimental rte_ioat_perform_ops(int dev_id)
static int __rte_experimental rte_ioat_fence(int dev_id)
unsigned short ring_size