X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcommon%2Fcnxk%2Froc_nix.h;h=b39f461badcd1a42978232fb2da3d9a1e065bf48;hb=c5ed57d1ba3a9ed943f84a6bba72235970ee2fac;hp=7bf3435a2df5e1a811d42781b78cf00e108f37b9;hpb=0885429c3028d34b68ccee300910cfe986c51105;p=dpdk.git diff --git a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h index 7bf3435a2d..b39f461bad 100644 --- a/drivers/common/cnxk/roc_nix.h +++ b/drivers/common/cnxk/roc_nix.h @@ -291,6 +291,7 @@ void __roc_api roc_nix_cqe_dump(const struct nix_cqe_hdr_s *cq); void __roc_api roc_nix_rq_dump(struct roc_nix_rq *rq); void __roc_api roc_nix_cq_dump(struct roc_nix_cq *cq); void __roc_api roc_nix_sq_dump(struct roc_nix_sq *sq); +void __roc_api roc_nix_tm_dump(struct roc_nix *roc_nix); void __roc_api roc_nix_dump(struct roc_nix *roc_nix); /* IRQ */ @@ -330,6 +331,8 @@ enum roc_tm_node_level { /* * TM runtime hierarchy init API. */ +int __roc_api roc_nix_tm_init(struct roc_nix *roc_nix); +void __roc_api roc_nix_tm_fini(struct roc_nix *roc_nix); int __roc_api roc_nix_tm_sq_aura_fc(struct roc_nix_sq *sq, bool enable); int __roc_api roc_nix_tm_sq_flush_spin(struct roc_nix_sq *sq); @@ -373,6 +376,16 @@ int __roc_api roc_nix_tm_node_add(struct roc_nix *roc_nix, int __roc_api roc_nix_tm_node_delete(struct roc_nix *roc_nix, uint32_t node_id, bool free); int __roc_api roc_nix_tm_free_resources(struct roc_nix *roc_nix, bool hw_only); +int __roc_api roc_nix_tm_node_suspend_resume(struct roc_nix *roc_nix, + uint32_t node_id, bool suspend); +int __roc_api roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, + uint32_t node_id, + uint32_t new_parent_id, + uint32_t priority, uint32_t weight); +int __roc_api roc_nix_tm_node_shaper_update(struct roc_nix *roc_nix, + uint32_t node_id, + uint32_t profile_id, + bool force_update); int __roc_api roc_nix_tm_node_pkt_mode_update(struct roc_nix *roc_nix, uint32_t node_id, bool pkt_mode); int __roc_api roc_nix_tm_shaper_profile_add( @@ -382,6 +395,10 @@ int __roc_api roc_nix_tm_shaper_profile_update( int __roc_api roc_nix_tm_shaper_profile_delete(struct roc_nix *roc_nix, uint32_t id); +int __roc_api roc_nix_tm_prealloc_res(struct roc_nix *roc_nix, uint8_t lvl, + uint16_t discontig, uint16_t contig); +uint16_t __roc_api roc_nix_tm_leaf_cnt(struct roc_nix *roc_nix); + struct roc_nix_tm_node *__roc_api roc_nix_tm_node_get(struct roc_nix *roc_nix, uint32_t node_id); struct roc_nix_tm_node *__roc_api @@ -391,6 +408,11 @@ roc_nix_tm_shaper_profile_get(struct roc_nix *roc_nix, uint32_t profile_id); struct roc_nix_tm_shaper_profile *__roc_api roc_nix_tm_shaper_profile_next( struct roc_nix *roc_nix, struct roc_nix_tm_shaper_profile *__prev); +/* + * TM ratelimit tree API. + */ +int __roc_api roc_nix_tm_rlimit_sq(struct roc_nix *roc_nix, uint16_t qid, + uint64_t rate); /* * TM hierarchy enable/disable API. */ @@ -403,6 +425,10 @@ int __roc_api roc_nix_tm_hierarchy_enable(struct roc_nix *roc_nix, * TM utilities API. */ int __roc_api roc_nix_tm_node_lvl(struct roc_nix *roc_nix, uint32_t node_id); +bool __roc_api roc_nix_tm_root_has_sp(struct roc_nix *roc_nix); +void __roc_api roc_nix_tm_rsrc_max(bool pf, uint16_t schq[ROC_TM_LVL_MAX]); +int __roc_api roc_nix_tm_rsrc_count(struct roc_nix *roc_nix, + uint16_t schq[ROC_TM_LVL_MAX]); int __roc_api roc_nix_tm_node_name_get(struct roc_nix *roc_nix, uint32_t node_id, char *buf, size_t buflen);