1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2021-2022 NXP
5 #ifndef _RTE_PMD_DPAA2_QDMA_H_
6 #define _RTE_PMD_DPAA2_QDMA_H_
8 /** States if the source addresses is physical. */
9 #define RTE_DPAA2_QDMA_JOB_SRC_PHY (1ULL << 30)
11 /** States if the destination addresses is physical. */
12 #define RTE_DPAA2_QDMA_JOB_DEST_PHY (1ULL << 31)
14 struct rte_dpaa2_qdma_rbp {
15 uint32_t use_ultrashort:1;
29 /*using route by port for destination */
43 /* using route by port for source */
50 * @b EXPERIMENTAL: this API may change without prior notice.
52 * Enable FD in Ultra Short format on a channel. This API should be
53 * called before calling 'rte_dma_vchan_setup()' API.
56 * The identifier of the device.
58 * The identifier of virtual DMA channel.
61 void rte_dpaa2_qdma_vchan_fd_us_enable(int16_t dev_id, uint16_t vchan);
65 * @b EXPERIMENTAL: this API may change without prior notice.
67 * Enable internal SG processing on a channel. This API should be
68 * called before calling 'rte_dma_vchan_setup()' API.
71 * The identifier of the device.
73 * The identifier of virtual DMA channel.
76 void rte_dpaa2_qdma_vchan_internal_sg_enable(int16_t dev_id, uint16_t vchan);
80 * @b EXPERIMENTAL: this API may change without prior notice.
82 * Enable Route-by-port on a channel. This API should be
83 * called before calling 'rte_dma_vchan_setup()' API.
86 * The identifier of the device.
88 * The identifier of virtual DMA channel.
90 * Configuration for route-by-port
93 void rte_dpaa2_qdma_vchan_rbp_enable(int16_t dev_id, uint16_t vchan,
94 struct rte_dpaa2_qdma_rbp *rbp_config);
96 #endif /* _RTE_PMD_DPAA2_QDMA_H_ */