Lines Matching refs:div
32 struct iproc_asiu_div div;
92 val = readl(asiu->div_base + clk->div.offset);
93 if ((val & (1 << clk->div.en_shift)) == 0) {
99 div_h = (val >> clk->div.high_shift) & bit_mask(clk->div.high_width);
101 div_l = (val >> clk->div.low_shift) & bit_mask(clk->div.low_width);
114 unsigned int div;
122 div = DIV_ROUND_CLOSEST(*parent_rate, rate);
123 if (div < 2)
126 return *parent_rate / div;
134 unsigned int div, div_h, div_l;
142 val = readl(asiu->div_base + clk->div.offset);
143 val &= ~(1 << clk->div.en_shift);
144 writel(val, asiu->div_base + clk->div.offset);
148 div = DIV_ROUND_CLOSEST(parent_rate, rate);
149 if (div < 2)
152 div_h = div_l = div >> 1;
156 val = readl(asiu->div_base + clk->div.offset);
157 val |= 1 << clk->div.en_shift;
159 val &= ~(bit_mask(clk->div.high_width)
160 << clk->div.high_shift);
161 val |= div_h << clk->div.high_shift;
163 val &= ~(bit_mask(clk->div.high_width)
164 << clk->div.high_shift);
167 val &= ~(bit_mask(clk->div.low_width) << clk->div.low_shift);
168 val |= div_l << clk->div.low_shift;
170 val &= ~(bit_mask(clk->div.low_width) << clk->div.low_shift);
172 writel(val, asiu->div_base + clk->div.offset);
186 const struct iproc_asiu_div *div,
193 if (WARN_ON(!gate || !div))
232 asiu_clk->div = div[i];