Lines Matching defs:dclk
49 struct hi6220_clk_divider *dclk = to_hi6220_clk_divider(hw);
51 val = readl_relaxed(dclk->reg) >> dclk->shift;
52 val &= div_mask(dclk->width);
54 return divider_recalc_rate(hw, parent_rate, val, dclk->table,
55 CLK_DIVIDER_ROUND_CLOSEST, dclk->width);
61 struct hi6220_clk_divider *dclk = to_hi6220_clk_divider(hw);
63 return divider_round_rate(hw, rate, prate, dclk->table,
64 dclk->width, CLK_DIVIDER_ROUND_CLOSEST);
73 struct hi6220_clk_divider *dclk = to_hi6220_clk_divider(hw);
75 value = divider_get_val(rate, parent_rate, dclk->table,
76 dclk->width, CLK_DIVIDER_ROUND_CLOSEST);
78 if (dclk->lock)
79 spin_lock_irqsave(dclk->lock, flags);
81 data = readl_relaxed(dclk->reg);
82 data &= ~(div_mask(dclk->width) << dclk->shift);
83 data |= value << dclk->shift;
84 data |= dclk->mask;
86 writel_relaxed(data, dclk->reg);
88 if (dclk->lock)
89 spin_unlock_irqrestore(dclk->lock, flags);