Lines Matching refs:node
44 static void otx2_qos_get_regaddr(struct otx2_qos_node *node, in otx2_qos_get_regaddr() argument
48 if (node->level == NIX_TXSCH_LVL_SMQ) { in otx2_qos_get_regaddr()
49 cfg->reg[index++] = NIX_AF_MDQX_PARENT(node->schq); in otx2_qos_get_regaddr()
50 cfg->reg[index++] = NIX_AF_MDQX_SCHEDULE(node->schq); in otx2_qos_get_regaddr()
51 cfg->reg[index++] = NIX_AF_MDQX_PIR(node->schq); in otx2_qos_get_regaddr()
52 cfg->reg[index] = NIX_AF_MDQX_CIR(node->schq); in otx2_qos_get_regaddr()
53 } else if (node->level == NIX_TXSCH_LVL_TL4) { in otx2_qos_get_regaddr()
54 cfg->reg[index++] = NIX_AF_TL4X_PARENT(node->schq); in otx2_qos_get_regaddr()
55 cfg->reg[index++] = NIX_AF_TL4X_SCHEDULE(node->schq); in otx2_qos_get_regaddr()
56 cfg->reg[index++] = NIX_AF_TL4X_PIR(node->schq); in otx2_qos_get_regaddr()
57 cfg->reg[index] = NIX_AF_TL4X_CIR(node->schq); in otx2_qos_get_regaddr()
58 } else if (node->level == NIX_TXSCH_LVL_TL3) { in otx2_qos_get_regaddr()
59 cfg->reg[index++] = NIX_AF_TL3X_PARENT(node->schq); in otx2_qos_get_regaddr()
60 cfg->reg[index++] = NIX_AF_TL3X_SCHEDULE(node->schq); in otx2_qos_get_regaddr()
61 cfg->reg[index++] = NIX_AF_TL3X_PIR(node->schq); in otx2_qos_get_regaddr()
62 cfg->reg[index] = NIX_AF_TL3X_CIR(node->schq); in otx2_qos_get_regaddr()
63 } else if (node->level == NIX_TXSCH_LVL_TL2) { in otx2_qos_get_regaddr()
64 cfg->reg[index++] = NIX_AF_TL2X_PARENT(node->schq); in otx2_qos_get_regaddr()
65 cfg->reg[index++] = NIX_AF_TL2X_SCHEDULE(node->schq); in otx2_qos_get_regaddr()
66 cfg->reg[index++] = NIX_AF_TL2X_PIR(node->schq); in otx2_qos_get_regaddr()
67 cfg->reg[index] = NIX_AF_TL2X_CIR(node->schq); in otx2_qos_get_regaddr()
83 struct otx2_qos_node *node, in otx2_config_sched_shaping() argument
91 otx2_qos_get_regaddr(node, cfg, *num_regs); in otx2_config_sched_shaping()
94 cfg->regval[*num_regs] = node->parent->schq << 16; in otx2_config_sched_shaping()
98 if (node->qid == OTX2_QOS_QID_NONE) { in otx2_config_sched_shaping()
99 cfg->regval[*num_regs] = node->prio << 24 | in otx2_config_sched_shaping()
106 if (node->is_static) { in otx2_config_sched_shaping()
108 (node->schq - node->parent->prio_anchor) << 24; in otx2_config_sched_shaping()
110 quantum = node->quantum ? in otx2_config_sched_shaping()
111 node->quantum : pfvf->tx_max_pktlen; in otx2_config_sched_shaping()
113 cfg->regval[*num_regs] = node->parent->child_dwrr_prio << 24 | in otx2_config_sched_shaping()
119 maxrate = (node->rate > node->ceil) ? node->rate : node->ceil; in otx2_config_sched_shaping()
132 otx2_get_txschq_rate_regval(pfvf, node->rate, 65536); in otx2_config_sched_shaping()
137 struct otx2_qos_node *node, in __otx2_qos_txschq_cfg() argument
144 level = node->level; in __otx2_qos_txschq_cfg()
148 cfg->reg[num_regs] = NIX_AF_SMQX_CFG(node->schq); in __otx2_qos_txschq_cfg()
155 otx2_config_sched_shaping(pfvf, node, cfg, &num_regs); in __otx2_qos_txschq_cfg()
157 otx2_config_sched_shaping(pfvf, node, cfg, &num_regs); in __otx2_qos_txschq_cfg()
161 cfg->reg[num_regs] = NIX_AF_TL3_TL2X_LINKX_CFG(node->schq, hw->tx_link); in __otx2_qos_txschq_cfg()
166 otx2_config_sched_shaping(pfvf, node, cfg, &num_regs); in __otx2_qos_txschq_cfg()
170 cfg->reg[num_regs] = NIX_AF_TL3_TL2X_LINKX_CFG(node->schq, hw->tx_link); in __otx2_qos_txschq_cfg()
176 if (node->qid == OTX2_QOS_QID_INNER && !node->parent) { in __otx2_qos_txschq_cfg()
177 cfg->reg[num_regs] = NIX_AF_TL2X_SCHEDULE(node->schq); in __otx2_qos_txschq_cfg()
185 otx2_config_sched_shaping(pfvf, node, cfg, &num_regs); in __otx2_qos_txschq_cfg()
236 struct otx2_qos_node *node; in otx2_qos_free_hw_node_schq() local
238 list_for_each_entry_reverse(node, &parent->child_schq_list, list) in otx2_qos_free_hw_node_schq()
239 otx2_txschq_free_one(pfvf, node->level, node->schq); in otx2_qos_free_hw_node_schq()
245 struct otx2_qos_node *node, *tmp; in otx2_qos_free_hw_node() local
247 list_for_each_entry_safe(node, tmp, &parent->child_list, list) { in otx2_qos_free_hw_node()
248 otx2_qos_free_hw_node(pfvf, node); in otx2_qos_free_hw_node()
249 otx2_qos_free_hw_node_schq(pfvf, node); in otx2_qos_free_hw_node()
250 otx2_txschq_free_one(pfvf, node->level, node->schq); in otx2_qos_free_hw_node()
255 struct otx2_qos_node *node) in otx2_qos_free_hw_cfg() argument
260 otx2_qos_free_hw_node(pfvf, node); in otx2_qos_free_hw_cfg()
261 otx2_qos_free_hw_node_schq(pfvf, node); in otx2_qos_free_hw_cfg()
264 otx2_txschq_free_one(pfvf, node->level, node->schq); in otx2_qos_free_hw_cfg()
270 struct otx2_qos_node *node) in otx2_qos_sw_node_delete() argument
272 hash_del_rcu(&node->hlist); in otx2_qos_sw_node_delete()
274 if (node->qid != OTX2_QOS_QID_INNER && node->qid != OTX2_QOS_QID_NONE) { in otx2_qos_sw_node_delete()
275 __clear_bit(node->qid, pfvf->qos.qos_sq_bmap); in otx2_qos_sw_node_delete()
279 list_del(&node->list); in otx2_qos_sw_node_delete()
280 kfree(node); in otx2_qos_sw_node_delete()
286 struct otx2_qos_node *node, *tmp; in otx2_qos_free_sw_node_schq() local
288 list_for_each_entry_safe(node, tmp, &parent->child_schq_list, list) { in otx2_qos_free_sw_node_schq()
289 list_del(&node->list); in otx2_qos_free_sw_node_schq()
290 kfree(node); in otx2_qos_free_sw_node_schq()
297 struct otx2_qos_node *node, *tmp; in __otx2_qos_free_sw_node() local
299 list_for_each_entry_safe(node, tmp, &parent->child_list, list) { in __otx2_qos_free_sw_node()
300 __otx2_qos_free_sw_node(pfvf, node); in __otx2_qos_free_sw_node()
301 otx2_qos_free_sw_node_schq(pfvf, node); in __otx2_qos_free_sw_node()
302 otx2_qos_sw_node_delete(pfvf, node); in __otx2_qos_free_sw_node()
307 struct otx2_qos_node *node) in otx2_qos_free_sw_node() argument
311 __otx2_qos_free_sw_node(pfvf, node); in otx2_qos_free_sw_node()
312 otx2_qos_free_sw_node_schq(pfvf, node); in otx2_qos_free_sw_node()
313 otx2_qos_sw_node_delete(pfvf, node); in otx2_qos_free_sw_node()
319 struct otx2_qos_node *node) in otx2_qos_destroy_node() argument
321 otx2_qos_free_hw_cfg(pfvf, node); in otx2_qos_destroy_node()
322 otx2_qos_free_sw_node(pfvf, node); in otx2_qos_destroy_node()
328 struct otx2_qos_node *node; in otx2_qos_fill_cfg_schq() local
330 list_for_each_entry(node, &parent->child_schq_list, list) in otx2_qos_fill_cfg_schq()
331 cfg->schq[node->level]++; in otx2_qos_fill_cfg_schq()
337 struct otx2_qos_node *node; in otx2_qos_fill_cfg_tl() local
339 list_for_each_entry(node, &parent->child_list, list) { in otx2_qos_fill_cfg_tl()
340 otx2_qos_fill_cfg_tl(node, cfg); in otx2_qos_fill_cfg_tl()
341 otx2_qos_fill_cfg_schq(node, cfg); in otx2_qos_fill_cfg_tl()
363 struct otx2_qos_node *node; in otx2_qos_read_txschq_cfg_schq() local
366 list_for_each_entry(node, &parent->child_schq_list, list) { in otx2_qos_read_txschq_cfg_schq()
367 cnt = cfg->dwrr_node_pos[node->level]; in otx2_qos_read_txschq_cfg_schq()
368 cfg->schq_list[node->level][cnt] = node->schq; in otx2_qos_read_txschq_cfg_schq()
369 cfg->schq[node->level]++; in otx2_qos_read_txschq_cfg_schq()
370 cfg->dwrr_node_pos[node->level]++; in otx2_qos_read_txschq_cfg_schq()
377 struct otx2_qos_node *node; in otx2_qos_read_txschq_cfg_tl() local
380 list_for_each_entry(node, &parent->child_list, list) { in otx2_qos_read_txschq_cfg_tl()
381 otx2_qos_read_txschq_cfg_tl(node, cfg); in otx2_qos_read_txschq_cfg_tl()
382 cnt = cfg->static_node_pos[node->level]; in otx2_qos_read_txschq_cfg_tl()
383 cfg->schq_contig_list[node->level][cnt] = node->schq; in otx2_qos_read_txschq_cfg_tl()
384 cfg->schq_index_used[node->level][cnt] = true; in otx2_qos_read_txschq_cfg_tl()
385 cfg->schq_contig[node->level]++; in otx2_qos_read_txschq_cfg_tl()
386 cfg->static_node_pos[node->level]++; in otx2_qos_read_txschq_cfg_tl()
387 otx2_qos_read_txschq_cfg_schq(node, cfg); in otx2_qos_read_txschq_cfg_tl()
392 struct otx2_qos_node *node, in otx2_qos_read_txschq_cfg() argument
396 otx2_qos_read_txschq_cfg_tl(node, cfg); in otx2_qos_read_txschq_cfg()
403 struct otx2_qos_node *node; in otx2_qos_alloc_root() local
405 node = kzalloc(sizeof(*node), GFP_KERNEL); in otx2_qos_alloc_root()
406 if (!node) in otx2_qos_alloc_root()
409 node->parent = NULL; in otx2_qos_alloc_root()
411 node->level = NIX_TXSCH_LVL_TL1; in otx2_qos_alloc_root()
413 node->level = NIX_TXSCH_LVL_TL2; in otx2_qos_alloc_root()
414 node->child_dwrr_prio = OTX2_QOS_DEFAULT_PRIO; in otx2_qos_alloc_root()
417 WRITE_ONCE(node->qid, OTX2_QOS_QID_INNER); in otx2_qos_alloc_root()
418 node->classid = OTX2_QOS_ROOT_CLASSID; in otx2_qos_alloc_root()
420 hash_add_rcu(pfvf->qos.qos_hlist, &node->hlist, node->classid); in otx2_qos_alloc_root()
421 list_add_tail(&node->list, &pfvf->qos.qos_tree); in otx2_qos_alloc_root()
422 INIT_LIST_HEAD(&node->child_list); in otx2_qos_alloc_root()
423 INIT_LIST_HEAD(&node->child_schq_list); in otx2_qos_alloc_root()
425 return node; in otx2_qos_alloc_root()
429 struct otx2_qos_node *node) in otx2_qos_add_child_node() argument
435 if (node->prio > parent->max_static_prio) in otx2_qos_add_child_node()
436 parent->max_static_prio = node->prio; in otx2_qos_add_child_node()
440 if (tmp_node->prio == node->prio && in otx2_qos_add_child_node()
443 if (tmp_node->prio > node->prio) { in otx2_qos_add_child_node()
444 list_add_tail(&node->list, tmp); in otx2_qos_add_child_node()
449 list_add_tail(&node->list, head); in otx2_qos_add_child_node()
454 struct otx2_qos_node *node) in otx2_qos_alloc_txschq_node() argument
459 parent = node; in otx2_qos_alloc_txschq_node()
460 for (lvl = node->level - 1; lvl >= NIX_TXSCH_LVL_MDQ; lvl--) { in otx2_qos_alloc_txschq_node()
478 list_add_tail(&txschq_node->list, &node->child_schq_list); in otx2_qos_alloc_txschq_node()
489 list_for_each_entry_safe(txschq_node, tmp, &node->child_schq_list, in otx2_qos_alloc_txschq_node()
503 struct otx2_qos_node *node; in otx2_qos_sw_create_leaf_node() local
506 node = kzalloc(sizeof(*node), GFP_KERNEL); in otx2_qos_sw_create_leaf_node()
507 if (!node) in otx2_qos_sw_create_leaf_node()
510 node->parent = parent; in otx2_qos_sw_create_leaf_node()
511 node->level = parent->level - 1; in otx2_qos_sw_create_leaf_node()
512 node->classid = classid; in otx2_qos_sw_create_leaf_node()
513 WRITE_ONCE(node->qid, qid); in otx2_qos_sw_create_leaf_node()
515 node->rate = otx2_convert_rate(rate); in otx2_qos_sw_create_leaf_node()
516 node->ceil = otx2_convert_rate(ceil); in otx2_qos_sw_create_leaf_node()
517 node->prio = prio; in otx2_qos_sw_create_leaf_node()
518 node->quantum = quantum; in otx2_qos_sw_create_leaf_node()
519 node->is_static = static_cfg; in otx2_qos_sw_create_leaf_node()
520 node->child_dwrr_prio = OTX2_QOS_DEFAULT_PRIO; in otx2_qos_sw_create_leaf_node()
521 node->txschq_idx = OTX2_QOS_INVALID_TXSCHQ_IDX; in otx2_qos_sw_create_leaf_node()
525 hash_add_rcu(pfvf->qos.qos_hlist, &node->hlist, classid); in otx2_qos_sw_create_leaf_node()
528 err = otx2_qos_add_child_node(parent, node); in otx2_qos_sw_create_leaf_node()
535 INIT_LIST_HEAD(&node->child_list); in otx2_qos_sw_create_leaf_node()
536 INIT_LIST_HEAD(&node->child_schq_list); in otx2_qos_sw_create_leaf_node()
538 err = otx2_qos_alloc_txschq_node(pfvf, node); in otx2_qos_sw_create_leaf_node()
540 otx2_qos_sw_node_delete(pfvf, node); in otx2_qos_sw_create_leaf_node()
544 return node; in otx2_qos_sw_create_leaf_node()
550 struct otx2_qos_node *node = NULL; in otx2_sw_node_find() local
552 hash_for_each_possible(pfvf->qos.qos_hlist, node, hlist, classid) { in otx2_sw_node_find()
553 if (node->classid == classid) in otx2_sw_node_find()
557 return node; in otx2_sw_node_find()
563 struct otx2_qos_node *node = NULL; in otx2_sw_node_find_rcu() local
565 hash_for_each_possible_rcu(pfvf->qos.qos_hlist, node, hlist, classid) { in otx2_sw_node_find_rcu()
566 if (node->classid == classid) in otx2_sw_node_find_rcu()
570 return node; in otx2_sw_node_find_rcu()
575 struct otx2_qos_node *node; in otx2_get_txq_by_classid() local
579 node = otx2_sw_node_find_rcu(pfvf, classid); in otx2_get_txq_by_classid()
580 if (!node) { in otx2_get_txq_by_classid()
584 qid = READ_ONCE(node->qid); in otx2_get_txq_by_classid()
595 otx2_qos_txschq_config(struct otx2_nic *pfvf, struct otx2_qos_node *node) in otx2_qos_txschq_config() argument
609 req->lvl = node->level; in otx2_qos_txschq_config()
610 __otx2_qos_txschq_cfg(pfvf, node, req); in otx2_qos_txschq_config()
691 struct otx2_qos_node *node, in otx2_qos_txschq_fill_cfg_schq() argument
697 list_for_each_entry(tmp, &node->child_schq_list, list) { in otx2_qos_txschq_fill_cfg_schq()
705 struct otx2_qos_node *node, in otx2_qos_txschq_fill_cfg_tl() argument
711 list_for_each_entry(tmp, &node->child_list, list) { in otx2_qos_txschq_fill_cfg_tl()
717 node->prio_anchor = in otx2_qos_txschq_fill_cfg_tl()
725 struct otx2_qos_node *node, in otx2_qos_txschq_fill_cfg() argument
729 otx2_qos_txschq_fill_cfg_tl(pfvf, node, cfg); in otx2_qos_txschq_fill_cfg()
730 otx2_qos_txschq_fill_cfg_schq(pfvf, node, cfg); in otx2_qos_txschq_fill_cfg()
762 struct otx2_qos_node *node) in otx2_qos_assign_base_idx_tl() argument
768 list_for_each_entry(tmp, &node->child_list, list) in otx2_qos_assign_base_idx_tl()
772 child_cnt = node->child_dwrr_cnt + node->max_static_prio + 1; in otx2_qos_assign_base_idx_tl()
779 list_for_each_entry(tmp, &node->child_list, list) in otx2_qos_assign_base_idx_tl()
783 list_for_each_entry(tmp, &node->child_list, list) { in otx2_qos_assign_base_idx_tl()
791 list_for_each_entry(tmp, &node->child_list, list) in otx2_qos_assign_base_idx_tl()
801 struct otx2_qos_node *node) in otx2_qos_assign_base_idx() argument
806 ret = otx2_qos_assign_base_idx_tl(pfvf, node); in otx2_qos_assign_base_idx()
813 struct otx2_qos_node *node, in otx2_qos_txschq_push_cfg_schq() argument
819 list_for_each_entry(tmp, &node->child_schq_list, list) { in otx2_qos_txschq_push_cfg_schq()
832 struct otx2_qos_node *node, in otx2_qos_txschq_push_cfg_tl() argument
838 list_for_each_entry(tmp, &node->child_list, list) { in otx2_qos_txschq_push_cfg_tl()
850 ret = otx2_qos_txschq_set_parent_topology(pfvf, node); in otx2_qos_txschq_push_cfg_tl()
858 struct otx2_qos_node *node, in otx2_qos_txschq_push_cfg() argument
864 ret = otx2_qos_txschq_push_cfg_tl(pfvf, node, cfg); in otx2_qos_txschq_push_cfg()
867 ret = otx2_qos_txschq_push_cfg_schq(pfvf, node, cfg); in otx2_qos_txschq_push_cfg()
874 struct otx2_qos_node *node, in otx2_qos_txschq_update_config() argument
877 otx2_qos_txschq_fill_cfg(pfvf, node, cfg); in otx2_qos_txschq_update_config()
879 return otx2_qos_txschq_push_cfg(pfvf, node, cfg); in otx2_qos_txschq_update_config()
912 struct otx2_qos_node *node, in otx2_qos_enadis_sq() argument
918 pfvf->qos.qid_to_sqmap[qid] = node->schq; in otx2_qos_enadis_sq()
923 struct otx2_qos_node *node, in otx2_qos_update_smq_schq() argument
928 if (node->qid == OTX2_QOS_QID_INNER) in otx2_qos_update_smq_schq()
931 list_for_each_entry(tmp, &node->child_schq_list, list) { in otx2_qos_update_smq_schq()
936 otx2_qos_enadis_sq(pfvf, tmp, node->qid); in otx2_qos_update_smq_schq()
942 struct otx2_qos_node *node, in __otx2_qos_update_smq() argument
947 list_for_each_entry(tmp, &node->child_list, list) { in __otx2_qos_update_smq()
963 struct otx2_qos_node *node, in otx2_qos_update_smq() argument
967 __otx2_qos_update_smq(pfvf, node, action); in otx2_qos_update_smq()
968 otx2_qos_update_smq_schq(pfvf, node, action); in otx2_qos_update_smq()
973 struct otx2_qos_node *node, in otx2_qos_push_txschq_cfg() argument
982 ret = otx2_qos_assign_base_idx(pfvf, node); in otx2_qos_push_txschq_cfg()
987 otx2_qos_txschq_fill_cfg(pfvf, node, cfg); in otx2_qos_push_txschq_cfg()
991 ret = otx2_qos_txschq_update_config(pfvf, node, cfg); in otx2_qos_push_txschq_cfg()
997 otx2_qos_update_smq(pfvf, node, QOS_CFG_SQ); in otx2_qos_push_txschq_cfg()
1003 struct otx2_qos_node *node, in otx2_qos_update_tree() argument
1006 otx2_qos_prepare_txschq_cfg(pfvf, node->parent, cfg); in otx2_qos_update_tree()
1007 return otx2_qos_push_txschq_cfg(pfvf, node->parent, cfg); in otx2_qos_update_tree()
1169 struct otx2_qos_node *node; in is_qos_node_dwrr() local
1176 list_for_each_entry(node, &parent->child_list, list) { in is_qos_node_dwrr()
1177 if (prio == node->prio) { in is_qos_node_dwrr()
1182 if (otx2_qos_validate_quantum(pfvf, node->quantum)) { in is_qos_node_dwrr()
1185 node->classid, node->quantum, in is_qos_node_dwrr()
1186 node->prio); in is_qos_node_dwrr()
1190 node->is_static = false; in is_qos_node_dwrr()
1208 struct otx2_qos_node *node, *parent; in otx2_qos_leaf_alloc_queue() local
1282 node = otx2_qos_sw_create_leaf_node(pfvf, parent, classid, prio, rate, in otx2_qos_leaf_alloc_queue()
1284 if (IS_ERR(node)) { in otx2_qos_leaf_alloc_queue()
1286 ret = PTR_ERR(node); in otx2_qos_leaf_alloc_queue()
1297 ret = otx2_qos_update_tree(pfvf, node, new_cfg); in otx2_qos_leaf_alloc_queue()
1301 otx2_qos_sw_node_delete(pfvf, node); in otx2_qos_leaf_alloc_queue()
1327 otx2_qos_sw_node_delete(pfvf, node); in otx2_qos_leaf_alloc_queue()
1346 struct otx2_qos_node *node, *child; in otx2_qos_leaf_to_inner() local
1368 node = otx2_sw_node_find(pfvf, classid); in otx2_qos_leaf_to_inner()
1369 if (!node) { in otx2_qos_leaf_to_inner()
1375 if (node->level == NIX_TXSCH_LVL_MDQ) { in otx2_qos_leaf_to_inner()
1381 static_cfg = !is_qos_node_dwrr(node, pfvf, prio); in otx2_qos_leaf_to_inner()
1383 ret = otx2_qos_validate_dwrr_cfg(node, extack, pfvf, prio, in otx2_qos_leaf_to_inner()
1390 node->child_static_cnt++; in otx2_qos_leaf_to_inner()
1392 node->child_dwrr_cnt++; in otx2_qos_leaf_to_inner()
1394 set_bit(prio, node->prio_bmap); in otx2_qos_leaf_to_inner()
1397 qid = node->qid; in otx2_qos_leaf_to_inner()
1406 otx2_qos_read_txschq_cfg(pfvf, node, old_cfg); in otx2_qos_leaf_to_inner()
1410 otx2_qos_free_hw_node_schq(pfvf, node); in otx2_qos_leaf_to_inner()
1411 otx2_qos_free_sw_node_schq(pfvf, node); in otx2_qos_leaf_to_inner()
1415 WRITE_ONCE(node->qid, OTX2_QOS_QID_INNER); in otx2_qos_leaf_to_inner()
1418 child = otx2_qos_sw_create_leaf_node(pfvf, node, child_classid, in otx2_qos_leaf_to_inner()
1440 WRITE_ONCE(node->qid, qid); in otx2_qos_leaf_to_inner()
1441 err = otx2_qos_alloc_txschq_node(pfvf, node); in otx2_qos_leaf_to_inner()
1447 err = otx2_qos_txschq_update_config(pfvf, node, old_cfg); in otx2_qos_leaf_to_inner()
1453 otx2_qos_update_smq(pfvf, node, QOS_CFG_SQ); in otx2_qos_leaf_to_inner()
1472 node->child_static_cnt--; in otx2_qos_leaf_to_inner()
1474 node->child_dwrr_cnt--; in otx2_qos_leaf_to_inner()
1475 clear_bit(prio, node->prio_bmap); in otx2_qos_leaf_to_inner()
1483 struct otx2_qos_node *node, *parent; in otx2_qos_leaf_del() local
1491 node = otx2_sw_node_find(pfvf, *classid); in otx2_qos_leaf_del()
1492 if (!node) { in otx2_qos_leaf_del()
1496 parent = node->parent; in otx2_qos_leaf_del()
1497 prio = node->prio; in otx2_qos_leaf_del()
1498 qid = node->qid; in otx2_qos_leaf_del()
1500 if (!node->is_static) in otx2_qos_leaf_del()
1503 otx2_qos_disable_sq(pfvf, node->qid); in otx2_qos_leaf_del()
1505 otx2_qos_destroy_node(pfvf, node); in otx2_qos_leaf_del()
1528 struct otx2_qos_node *node, *parent; in otx2_qos_leaf_del_last() local
1539 node = otx2_sw_node_find(pfvf, classid); in otx2_qos_leaf_del_last()
1540 if (!node) { in otx2_qos_leaf_del_last()
1546 qid = node->qid; in otx2_qos_leaf_del_last()
1547 prio = node->prio; in otx2_qos_leaf_del_last()
1549 parent = otx2_sw_node_find(pfvf, node->parent->classid); in otx2_qos_leaf_del_last()
1555 if (!node->is_static) in otx2_qos_leaf_del_last()
1560 otx2_qos_destroy_node(pfvf, node); in otx2_qos_leaf_del_last()