• Home
  • Raw
  • Download

Lines Matching refs:gate

186 	struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw);  in aspeed_clk_is_enabled()  local
187 u32 clk = BIT(gate->clock_idx); in aspeed_clk_is_enabled()
188 u32 rst = BIT(gate->reset_idx); in aspeed_clk_is_enabled()
189 u32 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; in aspeed_clk_is_enabled()
198 if (gate->reset_idx >= 0) { in aspeed_clk_is_enabled()
199 regmap_read(gate->map, ASPEED_RESET_CTRL, &reg); in aspeed_clk_is_enabled()
204 regmap_read(gate->map, ASPEED_CLK_STOP_CTRL, &reg); in aspeed_clk_is_enabled()
211 struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); in aspeed_clk_enable() local
213 u32 clk = BIT(gate->clock_idx); in aspeed_clk_enable()
214 u32 rst = BIT(gate->reset_idx); in aspeed_clk_enable()
217 spin_lock_irqsave(gate->lock, flags); in aspeed_clk_enable()
220 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_enable()
224 if (gate->reset_idx >= 0) { in aspeed_clk_enable()
226 regmap_update_bits(gate->map, ASPEED_RESET_CTRL, rst, rst); in aspeed_clk_enable()
233 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? 0 : clk; in aspeed_clk_enable()
234 regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); in aspeed_clk_enable()
236 if (gate->reset_idx >= 0) { in aspeed_clk_enable()
241 regmap_update_bits(gate->map, ASPEED_RESET_CTRL, rst, 0); in aspeed_clk_enable()
244 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_enable()
251 struct aspeed_clk_gate *gate = to_aspeed_clk_gate(hw); in aspeed_clk_disable() local
253 u32 clk = BIT(gate->clock_idx); in aspeed_clk_disable()
256 spin_lock_irqsave(gate->lock, flags); in aspeed_clk_disable()
258 enval = (gate->flags & CLK_GATE_SET_TO_DISABLE) ? clk : 0; in aspeed_clk_disable()
259 regmap_update_bits(gate->map, ASPEED_CLK_STOP_CTRL, clk, enval); in aspeed_clk_disable()
261 spin_unlock_irqrestore(gate->lock, flags); in aspeed_clk_disable()
350 struct aspeed_clk_gate *gate; in aspeed_clk_hw_register_gate() local
355 gate = kzalloc(sizeof(*gate), GFP_KERNEL); in aspeed_clk_hw_register_gate()
356 if (!gate) in aspeed_clk_hw_register_gate()
365 gate->map = map; in aspeed_clk_hw_register_gate()
366 gate->clock_idx = clock_idx; in aspeed_clk_hw_register_gate()
367 gate->reset_idx = reset_idx; in aspeed_clk_hw_register_gate()
368 gate->flags = clk_gate_flags; in aspeed_clk_hw_register_gate()
369 gate->lock = lock; in aspeed_clk_hw_register_gate()
370 gate->hw.init = &init; in aspeed_clk_hw_register_gate()
372 hw = &gate->hw; in aspeed_clk_hw_register_gate()
375 kfree(gate); in aspeed_clk_hw_register_gate()