Lines Matching refs:provider
45 struct icc_provider *provider; in icc_summary_show() local
52 list_for_each_entry(provider, &icc_providers, provider_list) { in icc_summary_show()
55 list_for_each_entry(n, &provider->nodes, node_list) { in icc_summary_show()
101 struct icc_provider *provider; in icc_graph_show() local
111 list_for_each_entry(provider, &icc_providers, provider_list) { in icc_graph_show()
113 if (provider->dev) in icc_graph_show()
115 dev_name(provider->dev)); in icc_graph_show()
118 list_for_each_entry(n, &provider->nodes, node_list) in icc_graph_show()
122 list_for_each_entry(n, &provider->nodes, node_list) in icc_graph_show()
124 if (n->provider == n->links[i]->provider) in icc_graph_show()
132 list_for_each_entry(provider, &icc_providers, provider_list) in icc_graph_show()
133 list_for_each_entry(n, &provider->nodes, node_list) in icc_graph_show()
135 if (n->provider != n->links[i]->provider) in icc_graph_show()
153 struct icc_provider *provider; in node_find_by_name() local
156 list_for_each_entry(provider, &icc_providers, provider_list) { in node_find_by_name()
157 list_for_each_entry(n, &provider->nodes, node_list) { in node_find_by_name()
180 node->provider->users++; in path_init()
267 struct icc_provider *p = node->provider; in aggregate_requests()
307 p = next->provider; in apply_constraints()
310 if (!prev || (p != prev->provider && !p->inter_set)) { in apply_constraints()
375 struct icc_provider *provider; in of_icc_get_from_provider() local
381 list_for_each_entry(provider, &icc_providers, provider_list) { in of_icc_get_from_provider()
382 if (provider->dev->of_node == spec->np) { in of_icc_get_from_provider()
383 if (provider->xlate_extended) { in of_icc_get_from_provider()
384 data = provider->xlate_extended(spec, provider->data); in of_icc_get_from_provider()
390 node = provider->xlate(spec, provider->data); in of_icc_get_from_provider()
795 if (!WARN_ON(!node->provider->users)) in icc_put()
796 node->provider->users--; in icc_put()
895 if (!node->provider) in icc_link_create()
933 void icc_node_add(struct icc_node *node, struct icc_provider *provider) in icc_node_add() argument
935 if (WARN_ON(node->provider)) in icc_node_add()
941 node->provider = provider; in icc_node_add()
942 list_add_tail(&node->node_list, &provider->nodes); in icc_node_add()
945 if (provider->get_bw) { in icc_node_add()
946 provider->get_bw(node, &node->init_avg, &node->init_peak); in icc_node_add()
955 if (provider->pre_aggregate) in icc_node_add()
956 provider->pre_aggregate(node); in icc_node_add()
958 if (provider->aggregate) in icc_node_add()
959 provider->aggregate(node, 0, node->init_avg, node->init_peak, in icc_node_add()
961 if (provider->set) in icc_node_add()
962 provider->set(node, node); in icc_node_add()
993 int icc_nodes_remove(struct icc_provider *provider) in icc_nodes_remove() argument
997 if (WARN_ON(IS_ERR_OR_NULL(provider))) in icc_nodes_remove()
1000 list_for_each_entry_safe_reverse(n, tmp, &provider->nodes, node_list) { in icc_nodes_remove()
1015 void icc_provider_init(struct icc_provider *provider) in icc_provider_init() argument
1017 WARN_ON(!provider->set); in icc_provider_init()
1019 INIT_LIST_HEAD(&provider->nodes); in icc_provider_init()
1029 int icc_provider_register(struct icc_provider *provider) in icc_provider_register() argument
1031 if (WARN_ON(!provider->xlate && !provider->xlate_extended)) in icc_provider_register()
1035 list_add_tail(&provider->provider_list, &icc_providers); in icc_provider_register()
1038 dev_dbg(provider->dev, "interconnect provider registered\n"); in icc_provider_register()
1048 void icc_provider_deregister(struct icc_provider *provider) in icc_provider_deregister() argument
1051 WARN_ON(provider->users); in icc_provider_deregister()
1053 list_del(&provider->provider_list); in icc_provider_deregister()