bcm_clk            51 drivers/clk/bcm/clk-kona-setup.c static bool clk_requires_trigger(struct kona_clk *bcm_clk)
bcm_clk            53 drivers/clk/bcm/clk-kona-setup.c 	struct peri_clk_data *peri = bcm_clk->u.peri;
bcm_clk            57 drivers/clk/bcm/clk-kona-setup.c 	if (bcm_clk->type != bcm_clk_peri)
bcm_clk            77 drivers/clk/bcm/clk-kona-setup.c static bool peri_clk_data_offsets_valid(struct kona_clk *bcm_clk)
bcm_clk            90 drivers/clk/bcm/clk-kona-setup.c 	BUG_ON(bcm_clk->type != bcm_clk_peri);
bcm_clk            91 drivers/clk/bcm/clk-kona-setup.c 	peri = bcm_clk->u.peri;
bcm_clk            92 drivers/clk/bcm/clk-kona-setup.c 	name = bcm_clk->init_data.name;
bcm_clk            93 drivers/clk/bcm/clk-kona-setup.c 	range = bcm_clk->ccu->range;
bcm_clk           368 drivers/clk/bcm/clk-kona-setup.c static bool kona_dividers_valid(struct kona_clk *bcm_clk)
bcm_clk           370 drivers/clk/bcm/clk-kona-setup.c 	struct peri_clk_data *peri = bcm_clk->u.peri;
bcm_clk           375 drivers/clk/bcm/clk-kona-setup.c 	BUG_ON(bcm_clk->type != bcm_clk_peri);
bcm_clk           400 drivers/clk/bcm/clk-kona-setup.c peri_clk_data_valid(struct kona_clk *bcm_clk)
bcm_clk           412 drivers/clk/bcm/clk-kona-setup.c 	BUG_ON(bcm_clk->type != bcm_clk_peri);
bcm_clk           419 drivers/clk/bcm/clk-kona-setup.c 	if (!peri_clk_data_offsets_valid(bcm_clk))
bcm_clk           422 drivers/clk/bcm/clk-kona-setup.c 	peri = bcm_clk->u.peri;
bcm_clk           423 drivers/clk/bcm/clk-kona-setup.c 	name = bcm_clk->init_data.name;
bcm_clk           474 drivers/clk/bcm/clk-kona-setup.c 		if (!clk_requires_trigger(bcm_clk)) {
bcm_clk           483 drivers/clk/bcm/clk-kona-setup.c 	} else if (clk_requires_trigger(bcm_clk)) {
bcm_clk           489 drivers/clk/bcm/clk-kona-setup.c 	return kona_dividers_valid(bcm_clk);
bcm_clk           492 drivers/clk/bcm/clk-kona-setup.c static bool kona_clk_valid(struct kona_clk *bcm_clk)
bcm_clk           494 drivers/clk/bcm/clk-kona-setup.c 	switch (bcm_clk->type) {
bcm_clk           496 drivers/clk/bcm/clk-kona-setup.c 		if (!peri_clk_data_valid(bcm_clk))
bcm_clk           501 drivers/clk/bcm/clk-kona-setup.c 			(int)bcm_clk->type);
bcm_clk           681 drivers/clk/bcm/clk-kona-setup.c static void bcm_clk_teardown(struct kona_clk *bcm_clk)
bcm_clk           683 drivers/clk/bcm/clk-kona-setup.c 	switch (bcm_clk->type) {
bcm_clk           685 drivers/clk/bcm/clk-kona-setup.c 		peri_clk_teardown(bcm_clk->u.data, &bcm_clk->init_data);
bcm_clk           690 drivers/clk/bcm/clk-kona-setup.c 	bcm_clk->u.data = NULL;
bcm_clk           691 drivers/clk/bcm/clk-kona-setup.c 	bcm_clk->type = bcm_clk_none;
bcm_clk           696 drivers/clk/bcm/clk-kona-setup.c 	struct kona_clk *bcm_clk;
bcm_clk           703 drivers/clk/bcm/clk-kona-setup.c 	bcm_clk = to_kona_clk(hw);
bcm_clk           704 drivers/clk/bcm/clk-kona-setup.c 	bcm_clk_teardown(bcm_clk);
bcm_clk           707 drivers/clk/bcm/clk-kona-setup.c static int kona_clk_setup(struct kona_clk *bcm_clk)
bcm_clk           710 drivers/clk/bcm/clk-kona-setup.c 	struct clk_init_data *init_data = &bcm_clk->init_data;
bcm_clk           712 drivers/clk/bcm/clk-kona-setup.c 	switch (bcm_clk->type) {
bcm_clk           714 drivers/clk/bcm/clk-kona-setup.c 		ret = peri_clk_setup(bcm_clk->u.data, init_data);
bcm_clk           720 drivers/clk/bcm/clk-kona-setup.c 			(int)bcm_clk->type, init_data->name);
bcm_clk           725 drivers/clk/bcm/clk-kona-setup.c 	if (!kona_clk_valid(bcm_clk)) {
bcm_clk           732 drivers/clk/bcm/clk-kona-setup.c 	bcm_clk->hw.init = init_data;
bcm_clk           733 drivers/clk/bcm/clk-kona-setup.c 	ret = clk_hw_register(NULL, &bcm_clk->hw);
bcm_clk           742 drivers/clk/bcm/clk-kona-setup.c 	bcm_clk_teardown(bcm_clk);
bcm_clk           976 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk           977 drivers/clk/bcm/clk-kona.c 	struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate;
bcm_clk           979 drivers/clk/bcm/clk-kona.c 	return clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, true);
bcm_clk           984 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk           985 drivers/clk/bcm/clk-kona.c 	struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate;
bcm_clk           987 drivers/clk/bcm/clk-kona.c 	(void)clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, false);
bcm_clk           992 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk           993 drivers/clk/bcm/clk-kona.c 	struct bcm_clk_gate *gate = &bcm_clk->u.peri->gate;
bcm_clk           995 drivers/clk/bcm/clk-kona.c 	return is_clk_gate_enabled(bcm_clk->ccu, gate) ? 1 : 0;
bcm_clk          1001 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk          1002 drivers/clk/bcm/clk-kona.c 	struct peri_clk_data *data = bcm_clk->u.peri;
bcm_clk          1004 drivers/clk/bcm/clk-kona.c 	return clk_recalc_rate(bcm_clk->ccu, &data->div, &data->pre_div,
bcm_clk          1011 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk          1012 drivers/clk/bcm/clk-kona.c 	struct bcm_clk_div *div = &bcm_clk->u.peri->div;
bcm_clk          1018 drivers/clk/bcm/clk-kona.c 	return round_rate(bcm_clk->ccu, div, &bcm_clk->u.peri->pre_div,
bcm_clk          1025 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk          1038 drivers/clk/bcm/clk-kona.c 	WARN_ON_ONCE(bcm_clk->init_data.flags & CLK_SET_RATE_NO_REPARENT);
bcm_clk          1039 drivers/clk/bcm/clk-kona.c 	parent_count = (u32)bcm_clk->init_data.num_parents;
bcm_clk          1085 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk          1086 drivers/clk/bcm/clk-kona.c 	struct peri_clk_data *data = bcm_clk->u.peri;
bcm_clk          1104 drivers/clk/bcm/clk-kona.c 	ret = selector_write(bcm_clk->ccu, &data->gate, sel, trig, index);
bcm_clk          1107 drivers/clk/bcm/clk-kona.c 			bcm_clk->init_data.name);
bcm_clk          1112 drivers/clk/bcm/clk-kona.c 			bcm_clk->init_data.name);
bcm_clk          1120 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk          1121 drivers/clk/bcm/clk-kona.c 	struct peri_clk_data *data = bcm_clk->u.peri;
bcm_clk          1124 drivers/clk/bcm/clk-kona.c 	index = selector_read_index(bcm_clk->ccu, &data->sel);
bcm_clk          1133 drivers/clk/bcm/clk-kona.c 	struct kona_clk *bcm_clk = to_kona_clk(hw);
bcm_clk          1134 drivers/clk/bcm/clk-kona.c 	struct peri_clk_data *data = bcm_clk->u.peri;
bcm_clk          1161 drivers/clk/bcm/clk-kona.c 	(void)round_rate(bcm_clk->ccu, div, &data->pre_div,
bcm_clk          1168 drivers/clk/bcm/clk-kona.c 	ret = divider_write(bcm_clk->ccu, &data->gate, &data->div,
bcm_clk          1172 drivers/clk/bcm/clk-kona.c 			bcm_clk->init_data.name);
bcm_clk          1176 drivers/clk/bcm/clk-kona.c 			bcm_clk->init_data.name);
bcm_clk          1194 drivers/clk/bcm/clk-kona.c static bool __peri_clk_init(struct kona_clk *bcm_clk)
bcm_clk          1196 drivers/clk/bcm/clk-kona.c 	struct ccu_data *ccu = bcm_clk->ccu;
bcm_clk          1197 drivers/clk/bcm/clk-kona.c 	struct peri_clk_data *peri = bcm_clk->u.peri;
bcm_clk          1198 drivers/clk/bcm/clk-kona.c 	const char *name = bcm_clk->init_data.name;
bcm_clk          1201 drivers/clk/bcm/clk-kona.c 	BUG_ON(bcm_clk->type != bcm_clk_peri);
bcm_clk          1244 drivers/clk/bcm/clk-kona.c static bool __kona_clk_init(struct kona_clk *bcm_clk)
bcm_clk          1246 drivers/clk/bcm/clk-kona.c 	switch (bcm_clk->type) {
bcm_clk          1248 drivers/clk/bcm/clk-kona.c 		return __peri_clk_init(bcm_clk);
bcm_clk          1267 drivers/clk/bcm/clk-kona.c 		struct kona_clk *bcm_clk = &kona_clks[which];
bcm_clk          1269 drivers/clk/bcm/clk-kona.c 		if (!bcm_clk->ccu)
bcm_clk          1272 drivers/clk/bcm/clk-kona.c 		success &= __kona_clk_init(bcm_clk);