Lines Matching refs:genamux

92 	struct clkgena_divmux *genamux = to_clkgena_divmux(hw);  in clkgena_divmux_enable()  local
93 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_enable()
99 ret = clk_mux_ops.set_parent(mux_hw, genamux->muxsel); in clkgena_divmux_enable()
105 while (!clkgena_divmux_is_running(genamux)) { in clkgena_divmux_enable()
116 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_disable() local
117 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_disable()
126 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_is_enabled() local
127 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_is_enabled()
136 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_get_parent() local
137 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_get_parent()
141 genamux->muxsel = clk_mux_ops.get_parent(mux_hw); in clkgena_divmux_get_parent()
142 if ((s8)genamux->muxsel < 0) { in clkgena_divmux_get_parent()
145 genamux->muxsel = 0; in clkgena_divmux_get_parent()
148 return genamux->muxsel; in clkgena_divmux_get_parent()
153 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_set_parent() local
158 genamux->muxsel = index; in clkgena_divmux_set_parent()
174 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_recalc_rate() local
175 struct clk_hw *div_hw = &genamux->div[genamux->muxsel].hw; in clkgena_divmux_recalc_rate()
185 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_set_rate() local
186 struct clk_hw *div_hw = &genamux->div[genamux->muxsel].hw; in clkgena_divmux_set_rate()
196 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_round_rate() local
197 struct clk_hw *div_hw = &genamux->div[genamux->muxsel].hw; in clkgena_divmux_round_rate()
229 struct clkgena_divmux *genamux; in clk_register_genamux() local
234 genamux = kzalloc(sizeof(*genamux), GFP_KERNEL); in clk_register_genamux()
235 if (!genamux) in clk_register_genamux()
244 genamux->mux.lock = &clkgena_divmux_lock; in clk_register_genamux()
245 genamux->mux.mask = BIT(mux_width) - 1; in clk_register_genamux()
246 genamux->mux.shift = muxdata->mux_start_bit + (idx * mux_width); in clk_register_genamux()
247 if (genamux->mux.shift > 31) { in clk_register_genamux()
252 genamux->mux.reg = reg + muxdata->mux_offset2; in clk_register_genamux()
253 genamux->mux.shift -= 32; in clk_register_genamux()
255 genamux->mux.reg = reg + muxdata->mux_offset; in clk_register_genamux()
263 genamux->div[i].width = divider_width; in clk_register_genamux()
264 genamux->div[i].reg = divbase + (idx * sizeof(u32)); in clk_register_genamux()
269 genamux->feedback_reg[i] = reg + muxdata->fb_offsets[i]; in clk_register_genamux()
272 genamux->feedback_bit_idx = muxdata->fb_start_bit_idx + idx; in clk_register_genamux()
273 genamux->hw.init = &init; in clk_register_genamux()
275 clk = clk_register(NULL, &genamux->hw); in clk_register_genamux()
277 kfree(genamux); in clk_register_genamux()