Lines Matching refs:inv_clock
27 struct rockchip_inv_clock *inv_clock = to_inv_clock(hw); in rockchip_inv_get_phase() local
30 val = readl(inv_clock->reg) >> inv_clock->shift; in rockchip_inv_get_phase()
37 struct rockchip_inv_clock *inv_clock = to_inv_clock(hw); in rockchip_inv_set_phase() local
48 if (inv_clock->flags & ROCKCHIP_INVERTER_HIWORD_MASK) { in rockchip_inv_set_phase()
49 writel(HIWORD_UPDATE(val, INVERTER_MASK, inv_clock->shift), in rockchip_inv_set_phase()
50 inv_clock->reg); in rockchip_inv_set_phase()
55 spin_lock_irqsave(inv_clock->lock, flags); in rockchip_inv_set_phase()
57 reg = readl(inv_clock->reg); in rockchip_inv_set_phase()
58 reg &= ~BIT(inv_clock->shift); in rockchip_inv_set_phase()
60 writel(reg, inv_clock->reg); in rockchip_inv_set_phase()
62 spin_unlock_irqrestore(inv_clock->lock, flags); in rockchip_inv_set_phase()
79 struct rockchip_inv_clock *inv_clock; in rockchip_clk_register_inverter() local
82 inv_clock = kmalloc(sizeof(*inv_clock), GFP_KERNEL); in rockchip_clk_register_inverter()
83 if (!inv_clock) in rockchip_clk_register_inverter()
92 inv_clock->hw.init = &init; in rockchip_clk_register_inverter()
93 inv_clock->reg = reg; in rockchip_clk_register_inverter()
94 inv_clock->shift = shift; in rockchip_clk_register_inverter()
95 inv_clock->flags = flags; in rockchip_clk_register_inverter()
96 inv_clock->lock = lock; in rockchip_clk_register_inverter()
98 clk = clk_register(NULL, &inv_clock->hw); in rockchip_clk_register_inverter()
100 kfree(inv_clock); in rockchip_clk_register_inverter()