Lines Matching refs:gate

213 	struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw);  in aspeed_clk_is_enabled()  local
214 u32 clk = BIT(gate->clock_idx); in aspeed_clk_is_enabled()
215 u32 rst = BIT(gate->reset_idx); in aspeed_clk_is_enabled()
216 u32 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; in aspeed_clk_is_enabled()
225 if (gate->reset_idx >= 0) { in aspeed_clk_is_enabled()
226 regmap_read(gate->map, ASPEED_RESET_CTRL, &reg); in aspeed_clk_is_enabled()
231 regmap_read(gate->map, ASPEED_CLK_STOP_CTRL, &reg); in aspeed_clk_is_enabled()
238 struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); in aspeed_clk_enable() local
240 u32 clk = BIT(gate->clock_idx); in aspeed_clk_enable()
241 u32 rst = BIT(gate->reset_idx); in aspeed_clk_enable()
244 spin_lock_irqsave(gate->lock, flags); in aspeed_clk_enable()
247 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_enable()
251 if (gate->reset_idx >= 0) { in aspeed_clk_enable()
253 regmap_update_bits(gate->map, ASPEED_RESET_CTRL, rst, rst); in aspeed_clk_enable()
260 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; in aspeed_clk_enable()
261 regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); in aspeed_clk_enable()
263 if (gate->reset_idx >= 0) { in aspeed_clk_enable()
268 regmap_update_bits(gate->map, ASPEED_RESET_CTRL, rst, 0); in aspeed_clk_enable()
271 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_enable()
278 struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); in aspeed_clk_disable() local
280 u32 clk = BIT(gate->clock_idx); in aspeed_clk_disable()
283 spin_lock_irqsave(gate->lock, flags); in aspeed_clk_disable()
285 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? clk : 0; in aspeed_clk_disable()
286 regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); in aspeed_clk_disable()
288 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_disable()
389 struct aspeed_clk_gate *gate; in aspeed_clk_hw_register_gate() local
394 gate = kzalloc(sizeof(*gate), GFP_KERNEL); in aspeed_clk_hw_register_gate()
395 if (!gate) in aspeed_clk_hw_register_gate()
404 gate->map = map; in aspeed_clk_hw_register_gate()
405 gate->clock_idx = clock_idx; in aspeed_clk_hw_register_gate()
406 gate->reset_idx = reset_idx; in aspeed_clk_hw_register_gate()
407 gate->flags = clk_gate_flags; in aspeed_clk_hw_register_gate()
408 gate->lock = lock; in aspeed_clk_hw_register_gate()
409 gate->hw.init = &init; in aspeed_clk_hw_register_gate()
411 hw = &gate->hw; in aspeed_clk_hw_register_gate()
414 kfree(gate); in aspeed_clk_hw_register_gate()