Lines Matching refs:sample_cnt
660 unsigned int sample_cnt)
667 if (sample_cnt == 1) {
688 * sample_ns = (1000000000 * (sample_cnt + 1)) / clk_src
700 unsigned int sample_cnt)
705 unsigned int sample_ns = div_u64(1000000000ULL * (sample_cnt + 1),
753 (sample_cnt << 12) | (high_cnt << 8);
755 i2c->ac_timing.ltiming |= (sample_cnt << 12) |
770 i2c->ac_timing.htiming = (sample_cnt << 8) | (high_cnt);
771 i2c->ac_timing.ltiming = (sample_cnt << 6) | (low_cnt);
791 * i2c_bus_freq = parent_clk / (clock_div * 2 * sample_cnt * step_cnt)
796 * sample_cnt and step_cn
804 unsigned int sample_cnt;
823 /* Search for the best pair (sample_cnt, step_cnt) with
824 * 0 < sample_cnt < MAX_SAMPLE_CNT_DIV
826 * sample_cnt * step_cnt >= opt_div
827 * optimizing for sample_cnt * step_cnt being minimal
829 for (sample_cnt = 1; sample_cnt <= MAX_SAMPLE_CNT_DIV; sample_cnt++) {
830 clk_div_restri = mtk_i2c_get_clk_div_restri(i2c, sample_cnt);
831 step_cnt = DIV_ROUND_UP(opt_div + clk_div_restri, sample_cnt);
832 cnt_mul = step_cnt * sample_cnt;
838 target_speed, step_cnt - 1, sample_cnt - 1);
843 base_sample_cnt = sample_cnt;
853 sample_cnt = base_sample_cnt;
856 if ((clk_src / (2 * (sample_cnt * step_cnt - clk_div_restri))) >
866 *timing_sample_cnt = sample_cnt - 1;
875 unsigned int sample_cnt;
911 &sample_cnt);
916 (sample_cnt << 12) | (step_cnt << 8);
921 (sample_cnt << 12) | (step_cnt << 9);