Lines Matching refs:gate
29 struct mmp_clk_gate *gate = to_clk_mmp_gate(hw); in mmp_clk_gate_enable() local
35 if (gate->lock) in mmp_clk_gate_enable()
36 spin_lock_irqsave(gate->lock, flags); in mmp_clk_gate_enable()
38 tmp = readl(gate->reg); in mmp_clk_gate_enable()
39 tmp &= ~gate->mask; in mmp_clk_gate_enable()
40 tmp |= gate->val_enable; in mmp_clk_gate_enable()
41 writel(tmp, gate->reg); in mmp_clk_gate_enable()
43 if (gate->lock) in mmp_clk_gate_enable()
44 spin_unlock_irqrestore(gate->lock, flags); in mmp_clk_gate_enable()
46 if (gate->flags & MMP_CLK_GATE_NEED_DELAY) { in mmp_clk_gate_enable()
57 struct mmp_clk_gate *gate = to_clk_mmp_gate(hw); in mmp_clk_gate_disable() local
61 if (gate->lock) in mmp_clk_gate_disable()
62 spin_lock_irqsave(gate->lock, flags); in mmp_clk_gate_disable()
64 tmp = readl(gate->reg); in mmp_clk_gate_disable()
65 tmp &= ~gate->mask; in mmp_clk_gate_disable()
66 tmp |= gate->val_disable; in mmp_clk_gate_disable()
67 writel(tmp, gate->reg); in mmp_clk_gate_disable()
69 if (gate->lock) in mmp_clk_gate_disable()
70 spin_unlock_irqrestore(gate->lock, flags); in mmp_clk_gate_disable()
75 struct mmp_clk_gate *gate = to_clk_mmp_gate(hw); in mmp_clk_gate_is_enabled() local
79 if (gate->lock) in mmp_clk_gate_is_enabled()
80 spin_lock_irqsave(gate->lock, flags); in mmp_clk_gate_is_enabled()
82 tmp = readl(gate->reg); in mmp_clk_gate_is_enabled()
84 if (gate->lock) in mmp_clk_gate_is_enabled()
85 spin_unlock_irqrestore(gate->lock, flags); in mmp_clk_gate_is_enabled()
87 return (tmp & gate->mask) == gate->val_enable; in mmp_clk_gate_is_enabled()
101 struct mmp_clk_gate *gate; in mmp_clk_register_gate() local
106 gate = kzalloc(sizeof(*gate), GFP_KERNEL); in mmp_clk_register_gate()
107 if (!gate) { in mmp_clk_register_gate()
119 gate->reg = reg; in mmp_clk_register_gate()
120 gate->mask = mask; in mmp_clk_register_gate()
121 gate->val_enable = val_enable; in mmp_clk_register_gate()
122 gate->val_disable = val_disable; in mmp_clk_register_gate()
123 gate->flags = gate_flags; in mmp_clk_register_gate()
124 gate->lock = lock; in mmp_clk_register_gate()
125 gate->hw.init = &init; in mmp_clk_register_gate()
127 clk = clk_register(dev, &gate->hw); in mmp_clk_register_gate()
130 kfree(gate); in mmp_clk_register_gate()