DPDK 22.11.0-rc2
rte_pmd_dpaa2_qdma.h
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2021-2022 NXP
3 */
4
5#ifndef _RTE_PMD_DPAA2_QDMA_H_
6#define _RTE_PMD_DPAA2_QDMA_H_
7
9#define RTE_DPAA2_QDMA_JOB_SRC_PHY (1ULL << 30)
10
12#define RTE_DPAA2_QDMA_JOB_DEST_PHY (1ULL << 31)
13
14struct rte_dpaa2_qdma_rbp {
15 uint32_t use_ultrashort:1;
16 uint32_t enable:1;
26 uint32_t dportid:4;
27 uint32_t dpfid:2;
28 uint32_t dvfid:6;
29 /*using route by port for destination */
30 uint32_t drbp:1;
40 uint32_t sportid:4;
41 uint32_t spfid:2;
42 uint32_t svfid:6;
43 /* using route by port for source */
44 uint32_t srbp:1;
45 uint32_t rsv:4;
46};
47
51 uint64_t src;
53 uint64_t dest;
55 uint32_t len;
57 uint32_t flags;
64 uint16_t status;
65 uint16_t vq_id;
70 void *usr_elem;
71};
72
85__rte_experimental
86void rte_dpaa2_qdma_vchan_fd_us_enable(int16_t dev_id, uint16_t vchan);
87
100__rte_experimental
101void rte_dpaa2_qdma_vchan_internal_sg_enable(int16_t dev_id, uint16_t vchan);
102
117__rte_experimental
118void rte_dpaa2_qdma_vchan_rbp_enable(int16_t dev_id, uint16_t vchan,
119 struct rte_dpaa2_qdma_rbp *rbp_config);
120
146__rte_experimental
147int rte_dpaa2_qdma_copy_multi(int16_t dev_id, uint16_t vchan,
148 struct rte_dpaa2_qdma_job **jobs, uint16_t nb_cpls);
149
169__rte_experimental
170uint16_t rte_dpaa2_qdma_completed_multi(int16_t dev_id, uint16_t vchan,
171 struct rte_dpaa2_qdma_job **jobs, uint16_t nb_cpls);
172
173#endif /* _RTE_PMD_DPAA2_QDMA_H_ */