1ac624068SGagandeep Singh /* SPDX-License-Identifier: BSD-3-Clause 2*72100f0dSGagandeep Singh * Copyright 2020-2021 NXP 3ac624068SGagandeep Singh */ 4ac624068SGagandeep Singh 5ac624068SGagandeep Singh #ifndef _DPAA2_TM_H_ 6ac624068SGagandeep Singh #define _DPAA2_TM_H_ 7ac624068SGagandeep Singh 8ac624068SGagandeep Singh #include <rte_tm.h> 9ac624068SGagandeep Singh 10*72100f0dSGagandeep Singh enum node_type { 11*72100f0dSGagandeep Singh NON_LEAF_NODE = 0, 12*72100f0dSGagandeep Singh LEAF_NODE 13*72100f0dSGagandeep Singh }; 14*72100f0dSGagandeep Singh 15*72100f0dSGagandeep Singh enum level_type { 16*72100f0dSGagandeep Singh LNI_LEVEL = 0, 17*72100f0dSGagandeep Singh CHANNEL_LEVEL, 18*72100f0dSGagandeep Singh QUEUE_LEVEL, 19*72100f0dSGagandeep Singh MAX_LEVEL 20*72100f0dSGagandeep Singh }; 21*72100f0dSGagandeep Singh 22ac624068SGagandeep Singh struct dpaa2_tm_shaper_profile { 23ac624068SGagandeep Singh LIST_ENTRY(dpaa2_tm_shaper_profile) next; 24ac624068SGagandeep Singh uint32_t id; 25ac624068SGagandeep Singh int refcnt; 26ac624068SGagandeep Singh struct rte_tm_shaper_params params; 27ac624068SGagandeep Singh }; 28ac624068SGagandeep Singh 29ac624068SGagandeep Singh struct dpaa2_tm_node { 30ac624068SGagandeep Singh LIST_ENTRY(dpaa2_tm_node) next; 31ac624068SGagandeep Singh uint32_t id; 32ac624068SGagandeep Singh uint32_t type; 33*72100f0dSGagandeep Singh uint32_t level_id; 34*72100f0dSGagandeep Singh uint16_t channel_id; /* Only for level 1 nodes */ 35*72100f0dSGagandeep Singh uint16_t tc_id; /* Only for level 1 nodes */ 36ac624068SGagandeep Singh int refcnt; 37ac624068SGagandeep Singh struct dpaa2_tm_node *parent; 38ac624068SGagandeep Singh struct dpaa2_tm_shaper_profile *profile; 39ac624068SGagandeep Singh uint32_t weight; 40ac624068SGagandeep Singh uint32_t priority; 41ac624068SGagandeep Singh uint64_t stats_mask; 42ac624068SGagandeep Singh }; 43ac624068SGagandeep Singh 44ac624068SGagandeep Singh int dpaa2_tm_init(struct rte_eth_dev *dev); 45ac624068SGagandeep Singh void dpaa2_tm_deinit(struct rte_eth_dev *dev); 46ac624068SGagandeep Singh 47ac624068SGagandeep Singh #endif /* _DPAA2_TM_H_ */ 48