/* SPDX-License-Identifier: BSD-3-Clause * Copyright 2020-2021 NXP */ #ifndef _DPAA2_TM_H_ #define _DPAA2_TM_H_ #include enum node_type { NON_LEAF_NODE = 0, LEAF_NODE }; enum level_type { LNI_LEVEL = 0, CHANNEL_LEVEL, QUEUE_LEVEL, MAX_LEVEL }; struct dpaa2_tm_shaper_profile { LIST_ENTRY(dpaa2_tm_shaper_profile) next; uint32_t id; int refcnt; struct rte_tm_shaper_params params; }; struct dpaa2_tm_node { LIST_ENTRY(dpaa2_tm_node) next; uint32_t id; uint32_t type; uint32_t level_id; uint16_t channel_id; /* Only for level 1 nodes */ uint16_t tc_id; /* Only for level 1 nodes */ int refcnt; struct dpaa2_tm_node *parent; struct dpaa2_tm_shaper_profile *profile; uint32_t weight; uint32_t priority; uint64_t stats_mask; }; int dpaa2_tm_init(struct rte_eth_dev *dev); void dpaa2_tm_deinit(struct rte_eth_dev *dev); #endif /* _DPAA2_TM_H_ */