Lines Matching refs:node
31 static int imx_icc_get_bw(struct icc_node *node, u32 *avg, u32 *peak) in imx_icc_get_bw() argument
39 static int imx_icc_node_set(struct icc_node *node) in imx_icc_node_set() argument
41 struct device *dev = node->provider->dev; in imx_icc_node_set()
42 struct imx_icc_node *node_data = node->data; in imx_icc_node_set()
47 if (node_data->setting && node->peak_bw) { in imx_icc_node_set()
70 freq = (node->avg_bw + node->peak_bw) * node_data->desc->adj->bw_mul; in imx_icc_node_set()
73 node->name, dev_name(node_data->qos_dev), in imx_icc_node_set()
74 node->avg_bw, node->peak_bw, freq); in imx_icc_node_set()
78 node->name); in imx_icc_node_set()
99 static void imx_icc_node_destroy(struct icc_node *node) in imx_icc_node_destroy() argument
101 struct imx_icc_node *node_data = node->data; in imx_icc_node_destroy()
107 dev_warn(node->provider->dev, in imx_icc_node_destroy()
113 icc_node_del(node); in imx_icc_node_destroy()
114 icc_node_destroy(node->id); in imx_icc_node_destroy()
118 struct icc_node *node) in imx_icc_node_init_qos() argument
120 struct imx_icc_node *node_data = node->data; in imx_icc_node_init_qos()
129 node->name, node->id); in imx_icc_node_init_qos()
140 adj->phandle_name, node->name); in imx_icc_node_init_qos()
149 node->name, node->id, dn); in imx_icc_node_init_qos()
154 node->name, node->id, dn); in imx_icc_node_init_qos()
169 struct icc_node *node; in imx_icc_node_add() local
172 node = icc_node_create(node_desc->id); in imx_icc_node_add()
173 if (IS_ERR(node)) { in imx_icc_node_add()
175 return node; in imx_icc_node_add()
178 if (node->data) { in imx_icc_node_add()
186 icc_node_destroy(node->id); in imx_icc_node_add()
190 node->name = node_desc->name; in imx_icc_node_add()
191 node->data = node_data; in imx_icc_node_add()
195 icc_node_add(node, provider); in imx_icc_node_add()
198 ret = imx_icc_node_init_qos(provider, node); in imx_icc_node_add()
200 imx_icc_node_destroy(node); in imx_icc_node_add()
205 return node; in imx_icc_node_add()
210 struct icc_node *node, *tmp; in imx_icc_unregister_nodes() local
212 list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) in imx_icc_unregister_nodes()
213 imx_icc_node_destroy(node); in imx_icc_unregister_nodes()
227 struct icc_node *node; in imx_icc_register_nodes() local
231 node = imx_icc_node_add(imx_provider, node_desc, in imx_icc_register_nodes()
233 if (IS_ERR(node)) { in imx_icc_register_nodes()
234 ret = dev_err_probe(provider->dev, PTR_ERR(node), in imx_icc_register_nodes()
238 provider_data->nodes[node->id] = node; in imx_icc_register_nodes()
241 ret = icc_link_create(node, node_desc->links[j]); in imx_icc_register_nodes()
244 node->id, node_desc->links[j], ret); in imx_icc_register_nodes()