Lines Matching refs:genamux

91 	struct clkgena_divmux *genamux = to_clkgena_divmux(hw);  in clkgena_divmux_enable()  local
92 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_enable()
98 ret = clk_mux_ops.set_parent(mux_hw, genamux->muxsel); in clkgena_divmux_enable()
104 while (!clkgena_divmux_is_running(genamux)) { in clkgena_divmux_enable()
115 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_disable() local
116 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_disable()
125 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_is_enabled() local
126 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_is_enabled()
135 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_get_parent() local
136 struct clk_hw *mux_hw = &genamux->mux.hw; in clkgena_divmux_get_parent()
140 genamux->muxsel = clk_mux_ops.get_parent(mux_hw); in clkgena_divmux_get_parent()
141 if ((s8)genamux->muxsel < 0) { in clkgena_divmux_get_parent()
144 genamux->muxsel = 0; in clkgena_divmux_get_parent()
147 return genamux->muxsel; in clkgena_divmux_get_parent()
152 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_set_parent() local
157 genamux->muxsel = index; in clkgena_divmux_set_parent()
173 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_recalc_rate() local
174 struct clk_hw *div_hw = &genamux->div[genamux->muxsel].hw; in clkgena_divmux_recalc_rate()
184 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_set_rate() local
185 struct clk_hw *div_hw = &genamux->div[genamux->muxsel].hw; in clkgena_divmux_set_rate()
195 struct clkgena_divmux *genamux = to_clkgena_divmux(hw); in clkgena_divmux_round_rate() local
196 struct clk_hw *div_hw = &genamux->div[genamux->muxsel].hw; in clkgena_divmux_round_rate()
228 struct clkgena_divmux *genamux; in clk_register_genamux() local
233 genamux = kzalloc(sizeof(*genamux), GFP_KERNEL); in clk_register_genamux()
234 if (!genamux) in clk_register_genamux()
243 genamux->mux.lock = &clkgena_divmux_lock; in clk_register_genamux()
244 genamux->mux.mask = BIT(mux_width) - 1; in clk_register_genamux()
245 genamux->mux.shift = muxdata->mux_start_bit + (idx * mux_width); in clk_register_genamux()
246 if (genamux->mux.shift > 31) { in clk_register_genamux()
251 genamux->mux.reg = reg + muxdata->mux_offset2; in clk_register_genamux()
252 genamux->mux.shift -= 32; in clk_register_genamux()
254 genamux->mux.reg = reg + muxdata->mux_offset; in clk_register_genamux()
262 genamux->div[i].width = divider_width; in clk_register_genamux()
263 genamux->div[i].reg = divbase + (idx * sizeof(u32)); in clk_register_genamux()
268 genamux->feedback_reg[i] = reg + muxdata->fb_offsets[i]; in clk_register_genamux()
271 genamux->feedback_bit_idx = muxdata->fb_start_bit_idx + idx; in clk_register_genamux()
272 genamux->hw.init = &init; in clk_register_genamux()
274 clk = clk_register(NULL, &genamux->hw); in clk_register_genamux()
276 kfree(genamux); in clk_register_genamux()