Lines Matching refs:sci_clk
35 struct sci_clk **clocks;
51 struct sci_clk { struct
63 #define to_sci_clk(_hw) container_of(_hw, struct sci_clk, hw) argument
73 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_prepare()
92 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_unprepare()
112 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_is_prepared()
140 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_recalc_rate()
169 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_determine_rate()
212 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_set_rate()
227 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_get_parent()
254 struct sci_clk *clk = to_sci_clk(hw); in sci_clk_set_parent()
286 struct sci_clk *sci_clk) in _sci_clk_build() argument
294 name = kasprintf(GFP_KERNEL, "clk:%d:%d", sci_clk->dev_id, in _sci_clk_build()
295 sci_clk->clk_id); in _sci_clk_build()
307 if (sci_clk->num_parents < 2) in _sci_clk_build()
308 sci_clk->num_parents = 0; in _sci_clk_build()
310 if (sci_clk->num_parents) { in _sci_clk_build()
311 parent_names = kcalloc(sci_clk->num_parents, sizeof(char *), in _sci_clk_build()
319 for (i = 0; i < sci_clk->num_parents; i++) { in _sci_clk_build()
323 sci_clk->dev_id, in _sci_clk_build()
324 sci_clk->clk_id + 1 + i); in _sci_clk_build()
335 init.num_parents = sci_clk->num_parents; in _sci_clk_build()
336 sci_clk->hw.init = &init; in _sci_clk_build()
338 ret = devm_clk_hw_register(provider->dev, &sci_clk->hw); in _sci_clk_build()
344 for (i = 0; i < sci_clk->num_parents; i++) in _sci_clk_build()
357 const struct sci_clk *ca = a; in _cmp_sci_clk()
358 const struct sci_clk *cb = *(struct sci_clk **)b; in _cmp_sci_clk()
381 struct sci_clk **clk; in sci_clk_get()
382 struct sci_clk key; in sci_clk_get()
424 struct sci_clk **clks = NULL; in ti_sci_scan_clocks_from_fw()
425 struct sci_clk **tmp_clks; in ti_sci_scan_clocks_from_fw()
426 struct sci_clk *sci_clk; in ti_sci_scan_clocks_from_fw() local
460 sizeof(sci_clk), in ti_sci_scan_clocks_from_fw()
462 memcpy(tmp_clks, clks, max_clks * sizeof(sci_clk)); in ti_sci_scan_clocks_from_fw()
469 sci_clk = devm_kzalloc(dev, sizeof(*sci_clk), GFP_KERNEL); in ti_sci_scan_clocks_from_fw()
470 if (!sci_clk) in ti_sci_scan_clocks_from_fw()
472 sci_clk->dev_id = dev_id; in ti_sci_scan_clocks_from_fw()
473 sci_clk->clk_id = clk_id; in ti_sci_scan_clocks_from_fw()
474 sci_clk->provider = provider; in ti_sci_scan_clocks_from_fw()
475 sci_clk->num_parents = num_parents; in ti_sci_scan_clocks_from_fw()
477 clks[num_clks] = sci_clk; in ti_sci_scan_clocks_from_fw()
483 provider->clocks = devm_kmalloc_array(dev, num_clks, sizeof(sci_clk), in ti_sci_scan_clocks_from_fw()
488 memcpy(provider->clocks, clks, num_clks * sizeof(sci_clk)); in ti_sci_scan_clocks_from_fw()
502 struct sci_clk *ca = container_of(a, struct sci_clk, node); in _cmp_sci_clk_list()
503 struct sci_clk *cb = container_of(b, struct sci_clk, node); in _cmp_sci_clk_list()
516 struct sci_clk *sci_clk, *prev; in ti_sci_scan_clocks_from_dt() local
550 sci_clk = devm_kzalloc(dev, sizeof(*sci_clk), in ti_sci_scan_clocks_from_dt()
552 if (!sci_clk) in ti_sci_scan_clocks_from_dt()
555 sci_clk->dev_id = args.args[0]; in ti_sci_scan_clocks_from_dt()
556 sci_clk->clk_id = args.args[1]; in ti_sci_scan_clocks_from_dt()
557 sci_clk->provider = provider; in ti_sci_scan_clocks_from_dt()
559 sci_clk->dev_id, in ti_sci_scan_clocks_from_dt()
560 sci_clk->clk_id, in ti_sci_scan_clocks_from_dt()
561 (void *)&sci_clk->num_parents); in ti_sci_scan_clocks_from_dt()
562 list_add_tail(&sci_clk->node, &clks); in ti_sci_scan_clocks_from_dt()
566 num_parents = sci_clk->num_parents; in ti_sci_scan_clocks_from_dt()
582 sci_clk->dev_id, in ti_sci_scan_clocks_from_dt()
583 sci_clk->clk_id, num_parents); in ti_sci_scan_clocks_from_dt()
592 sci_clk->dev_id, clk_id, &state); in ti_sci_scan_clocks_from_dt()
599 sci_clk = devm_kzalloc(dev, in ti_sci_scan_clocks_from_dt()
600 sizeof(*sci_clk), in ti_sci_scan_clocks_from_dt()
602 if (!sci_clk) in ti_sci_scan_clocks_from_dt()
604 sci_clk->dev_id = args.args[0]; in ti_sci_scan_clocks_from_dt()
605 sci_clk->clk_id = clk_id++; in ti_sci_scan_clocks_from_dt()
606 sci_clk->provider = provider; in ti_sci_scan_clocks_from_dt()
607 list_add_tail(&sci_clk->node, &clks); in ti_sci_scan_clocks_from_dt()
619 provider->clocks = devm_kmalloc_array(dev, num_clks, sizeof(sci_clk), in ti_sci_scan_clocks_from_dt()
627 list_for_each_entry(sci_clk, &clks, node) { in ti_sci_scan_clocks_from_dt()
628 if (prev && prev->dev_id == sci_clk->dev_id && in ti_sci_scan_clocks_from_dt()
629 prev->clk_id == sci_clk->clk_id) in ti_sci_scan_clocks_from_dt()
632 provider->clocks[num_clks++] = sci_clk; in ti_sci_scan_clocks_from_dt()
633 prev = sci_clk; in ti_sci_scan_clocks_from_dt()