Lines Matching refs:gate

185 	struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw);  in aspeed_clk_is_enabled()  local
186 u32 clk = BIT(gate->clock_idx); in aspeed_clk_is_enabled()
187 u32 rst = BIT(gate->reset_idx); in aspeed_clk_is_enabled()
188 u32 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; in aspeed_clk_is_enabled()
197 if (gate->reset_idx >= 0) { in aspeed_clk_is_enabled()
198 regmap_read(gate->map, ASPEED_RESET_CTRL, &reg); in aspeed_clk_is_enabled()
203 regmap_read(gate->map, ASPEED_CLK_STOP_CTRL, &reg); in aspeed_clk_is_enabled()
210 struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); in aspeed_clk_enable() local
212 u32 clk = BIT(gate->clock_idx); in aspeed_clk_enable()
213 u32 rst = BIT(gate->reset_idx); in aspeed_clk_enable()
216 spin_lock_irqsave(gate->lock, flags); in aspeed_clk_enable()
219 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_enable()
223 if (gate->reset_idx >= 0) { in aspeed_clk_enable()
225 regmap_update_bits(gate->map, ASPEED_RESET_CTRL, rst, rst); in aspeed_clk_enable()
232 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; in aspeed_clk_enable()
233 regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); in aspeed_clk_enable()
235 if (gate->reset_idx >= 0) { in aspeed_clk_enable()
240 regmap_update_bits(gate->map, ASPEED_RESET_CTRL, rst, 0); in aspeed_clk_enable()
243 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_enable()
250 struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); in aspeed_clk_disable() local
252 u32 clk = BIT(gate->clock_idx); in aspeed_clk_disable()
255 spin_lock_irqsave(gate->lock, flags); in aspeed_clk_disable()
257 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? clk : 0; in aspeed_clk_disable()
258 regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); in aspeed_clk_disable()
260 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_disable()
349 struct aspeed_clk_gate *gate; in aspeed_clk_hw_register_gate() local
354 gate = kzalloc(sizeof(*gate), GFP_KERNEL); in aspeed_clk_hw_register_gate()
355 if (!gate) in aspeed_clk_hw_register_gate()
364 gate->map = map; in aspeed_clk_hw_register_gate()
365 gate->clock_idx = clock_idx; in aspeed_clk_hw_register_gate()
366 gate->reset_idx = reset_idx; in aspeed_clk_hw_register_gate()
367 gate->flags = clk_gate_flags; in aspeed_clk_hw_register_gate()
368 gate->lock = lock; in aspeed_clk_hw_register_gate()
369 gate->hw.init = &init; in aspeed_clk_hw_register_gate()
371 hw = &gate->hw; in aspeed_clk_hw_register_gate()
374 kfree(gate); in aspeed_clk_hw_register_gate()