Lines Matching refs:pre_div
91 u8 pre_div;
166 unsigned int pre_div, cnt, duty_cnt;
190 pre_div = div64_u64(fin_freq * period, NSEC_PER_SEC * 0xffffLL);
191 if (pre_div > MISC_CLK_DIV_MASK) {
192 dev_err(meson->chip.dev, "unable to get period pre_div\n");
196 cnt = div64_u64(fin_freq * period, NSEC_PER_SEC * (pre_div + 1));
202 dev_dbg(meson->chip.dev, "period=%llu pre_div=%u cnt=%u\n", period,
203 pre_div, cnt);
206 channel->pre_div = pre_div;
210 channel->pre_div = pre_div;
214 /* Then check is we can have the duty with the same pre_div */
215 duty_cnt = div64_u64(fin_freq * duty, NSEC_PER_SEC * (pre_div + 1));
221 dev_dbg(meson->chip.dev, "duty=%llu pre_div=%u duty_cnt=%u\n",
222 duty, pre_div, duty_cnt);
224 channel->pre_div = pre_div;
245 value |= channel->pre_div << channel_data->clk_div_shift;
290 * that we use a pre_div of 0 (to get the shortest
298 channel->pre_div = 0;
334 return cnt * fin_ns * (channel->pre_div + 1);
357 channel->pre_div = FIELD_GET(MISC_CLK_DIV_MASK, tmp);