Home
last modified time | relevance | path

Searched refs:parent_rate (Results 1 – 133 of 133) sorted by relevance

/linux-4.1.27/arch/arm/mach-imx/
Dclk-pllv3.c99 unsigned long parent_rate) in clk_pllv3_recalc_rate() argument
104 return (div == 1) ? parent_rate * 22 : parent_rate * 20; in clk_pllv3_recalc_rate()
110 unsigned long parent_rate = *prate; in clk_pllv3_round_rate() local
112 return (rate >= parent_rate * 22) ? parent_rate * 22 : in clk_pllv3_round_rate()
113 parent_rate * 20; in clk_pllv3_round_rate()
117 unsigned long parent_rate) in clk_pllv3_set_rate() argument
122 if (rate == parent_rate * 22) in clk_pllv3_set_rate()
124 else if (rate == parent_rate * 20) in clk_pllv3_set_rate()
146 unsigned long parent_rate) in clk_pllv3_sys_recalc_rate() argument
151 return parent_rate * div / 2; in clk_pllv3_sys_recalc_rate()
[all …]
Dclk-pllv2.c77 static unsigned long __clk_pllv2_recalc_rate(unsigned long parent_rate, in __clk_pllv2_recalc_rate() argument
97 ref_clk = 2 * parent_rate; in __clk_pllv2_recalc_rate()
112 unsigned long parent_rate) in clk_pllv2_recalc_rate() argument
125 return __clk_pllv2_recalc_rate(parent_rate, dp_ctl, dp_op, dp_mfd, dp_mfn); in clk_pllv2_recalc_rate()
128 static int __clk_pllv2_set_rate(unsigned long rate, unsigned long parent_rate, in __clk_pllv2_set_rate() argument
136 quad_parent_rate = 4 * parent_rate; in __clk_pllv2_set_rate()
158 unsigned long parent_rate) in clk_pllv2_set_rate() argument
168 ret = __clk_pllv2_set_rate(rate, parent_rate, &dp_op, &dp_mfd, &dp_mfn); in clk_pllv2_set_rate()
Dclk-pfd.c59 unsigned long parent_rate) in clk_pfd_recalc_rate() argument
62 u64 tmp = parent_rate; in clk_pfd_recalc_rate()
92 unsigned long parent_rate) in clk_pfd_set_rate() argument
95 u64 tmp = parent_rate; in clk_pfd_set_rate()
Dclk-fixup-div.c44 unsigned long parent_rate) in clk_fixup_div_recalc_rate() argument
48 return fixup_div->ops->recalc_rate(&fixup_div->divider.hw, parent_rate); in clk_fixup_div_recalc_rate()
60 unsigned long parent_rate) in clk_fixup_div_set_rate() argument
68 divider = parent_rate / rate; in clk_fixup_div_set_rate()
Dclk-busy.c47 unsigned long parent_rate) in clk_busy_divider_recalc_rate() argument
51 return busy->div_ops->recalc_rate(&busy->div.hw, parent_rate); in clk_busy_divider_recalc_rate()
63 unsigned long parent_rate) in clk_busy_divider_set_rate() argument
68 ret = busy->div_ops->set_rate(&busy->div.hw, rate, parent_rate); in clk_busy_divider_set_rate()
Dclk-pllv1.c39 unsigned long parent_rate) in clk_pllv1_recalc_rate() argument
81 rate = parent_rate * 2; in clk_pllv1_recalc_rate()
Dclk-cpu.c30 unsigned long parent_rate) in clk_cpu_recalc_rate() argument
46 unsigned long parent_rate) in clk_cpu_set_rate() argument
/linux-4.1.27/drivers/clk/at91/
Dclk-h32mx.c40 unsigned long parent_rate) in clk_sama5d4_h32mx_recalc_rate() argument
45 return parent_rate / 2; in clk_sama5d4_h32mx_recalc_rate()
47 if (parent_rate > H32MX_MAX_FREQ) in clk_sama5d4_h32mx_recalc_rate()
49 return parent_rate; in clk_sama5d4_h32mx_recalc_rate()
53 unsigned long *parent_rate) in clk_sama5d4_h32mx_round_rate() argument
57 if (rate > *parent_rate) in clk_sama5d4_h32mx_round_rate()
58 return *parent_rate; in clk_sama5d4_h32mx_round_rate()
59 div = *parent_rate / 2; in clk_sama5d4_h32mx_round_rate()
63 if (rate - div < *parent_rate - rate) in clk_sama5d4_h32mx_round_rate()
66 return *parent_rate; in clk_sama5d4_h32mx_round_rate()
[all …]
Dclk-plldiv.c28 unsigned long parent_rate) in clk_plldiv_recalc_rate() argument
34 return parent_rate / 2; in clk_plldiv_recalc_rate()
36 return parent_rate; in clk_plldiv_recalc_rate()
40 unsigned long *parent_rate) in clk_plldiv_round_rate() argument
44 if (rate > *parent_rate) in clk_plldiv_round_rate()
45 return *parent_rate; in clk_plldiv_round_rate()
46 div = *parent_rate / 2; in clk_plldiv_round_rate()
50 if (rate - div < *parent_rate - rate) in clk_plldiv_round_rate()
53 return *parent_rate; in clk_plldiv_round_rate()
57 unsigned long parent_rate) in clk_plldiv_set_rate() argument
[all …]
Dclk-smd.c34 unsigned long parent_rate) in at91sam9x5_clk_smd_recalc_rate() argument
43 return parent_rate / (smddiv + 1); in at91sam9x5_clk_smd_recalc_rate()
47 unsigned long *parent_rate) in at91sam9x5_clk_smd_round_rate() argument
53 if (rate >= *parent_rate) in at91sam9x5_clk_smd_round_rate()
54 return *parent_rate; in at91sam9x5_clk_smd_round_rate()
56 div = *parent_rate / rate; in at91sam9x5_clk_smd_round_rate()
58 return *parent_rate / (SMD_MAX_DIV + 1); in at91sam9x5_clk_smd_round_rate()
60 bestrate = *parent_rate / div; in at91sam9x5_clk_smd_round_rate()
61 tmp = *parent_rate / (div + 1); in at91sam9x5_clk_smd_round_rate()
92 unsigned long parent_rate) in at91sam9x5_clk_smd_set_rate() argument
[all …]
Dclk-peripheral.c138 unsigned long parent_rate; in clk_sam9x5_peripheral_autodiv() local
146 parent_rate = __clk_get_rate(parent); in clk_sam9x5_peripheral_autodiv()
147 if (!parent_rate) in clk_sam9x5_peripheral_autodiv()
151 if (parent_rate >> shift <= periph->range.max) in clk_sam9x5_peripheral_autodiv()
206 unsigned long parent_rate) in clk_sam9x5_peripheral_recalc_rate() argument
213 return parent_rate; in clk_sam9x5_peripheral_recalc_rate()
227 return parent_rate >> periph->div; in clk_sam9x5_peripheral_recalc_rate()
232 unsigned long *parent_rate) in clk_sam9x5_peripheral_round_rate() argument
237 unsigned long cur_rate = *parent_rate; in clk_sam9x5_peripheral_round_rate()
242 return *parent_rate; in clk_sam9x5_peripheral_round_rate()
[all …]
Dclk-pll.c151 unsigned long parent_rate) in clk_pll_recalc_rate() argument
158 return (parent_rate / pll->div) * (pll->mul + 1); in clk_pll_recalc_rate()
162 unsigned long parent_rate, in clk_pll_get_best_div_mul() argument
176 if (parent_rate < characteristics->input.min) in clk_pll_get_best_div_mul()
185 mindiv = (parent_rate * PLL_MUL_MIN) / rate; in clk_pll_get_best_div_mul()
189 if (parent_rate > characteristics->input.max) { in clk_pll_get_best_div_mul()
190 tmpdiv = DIV_ROUND_UP(parent_rate, characteristics->input.max); in clk_pll_get_best_div_mul()
202 maxdiv = DIV_ROUND_UP(parent_rate * PLL_MUL_MAX(layout), rate); in clk_pll_get_best_div_mul()
220 tmpmul = DIV_ROUND_CLOSEST(rate, parent_rate / tmpdiv); in clk_pll_get_best_div_mul()
221 tmprate = (parent_rate / tmpdiv) * tmpmul; in clk_pll_get_best_div_mul()
[all …]
Dclk-programmable.c45 unsigned long parent_rate) in clk_programmable_recalc_rate() argument
54 return parent_rate >> pres; in clk_programmable_recalc_rate()
66 unsigned long parent_rate; in clk_programmable_determine_rate() local
76 parent_rate = __clk_get_rate(parent); in clk_programmable_determine_rate()
78 tmp_rate = parent_rate >> shift; in clk_programmable_determine_rate()
88 *best_parent_rate = parent_rate; in clk_programmable_determine_rate()
139 unsigned long parent_rate) in clk_programmable_set_rate() argument
144 unsigned long div = parent_rate / rate; in clk_programmable_set_rate()
Dclk-usb.c46 unsigned long parent_rate) in at91sam9x5_clk_usb_recalc_rate() argument
56 return DIV_ROUND_CLOSEST(parent_rate, (usbdiv + 1)); in at91sam9x5_clk_usb_recalc_rate()
134 unsigned long parent_rate) in at91sam9x5_clk_usb_set_rate() argument
144 div = DIV_ROUND_CLOSEST(parent_rate, rate); in at91sam9x5_clk_usb_set_rate()
257 unsigned long parent_rate) in at91rm9200_clk_usb_recalc_rate() argument
267 return parent_rate / usb->divisors[usbdiv]; in at91rm9200_clk_usb_recalc_rate()
273 unsigned long *parent_rate) in at91rm9200_clk_usb_round_rate() argument
300 *parent_rate = tmp_parent_rate; in at91rm9200_clk_usb_round_rate()
311 unsigned long parent_rate) in at91rm9200_clk_usb_set_rate() argument
322 div = DIV_ROUND_CLOSEST(parent_rate, rate); in at91rm9200_clk_usb_set_rate()
Dclk-main.c271 unsigned long parent_rate) in clk_main_rc_osc_recalc_rate() argument
384 unsigned long parent_rate) in clk_main_recalc_rate() argument
388 if (parent_rate) in clk_main_recalc_rate()
389 return parent_rate; in clk_main_recalc_rate()
414 unsigned long parent_rate) in clk_rm9200_main_recalc_rate() argument
418 return clk_main_recalc_rate(clkmain->pmc, parent_rate); in clk_rm9200_main_recalc_rate()
511 unsigned long parent_rate) in clk_sam9x5_main_recalc_rate() argument
515 return clk_main_recalc_rate(clkmain->pmc, parent_rate); in clk_sam9x5_main_recalc_rate()
Dclk-utmi.c82 unsigned long parent_rate) in clk_utmi_recalc_rate() argument
85 return parent_rate * UTMI_FIXED_MUL; in clk_utmi_recalc_rate()
Dclk-master.c85 unsigned long parent_rate) in clk_master_recalc_rate() argument
89 unsigned long rate = parent_rate; in clk_master_recalc_rate()
Dclk-slow.c183 unsigned long parent_rate) in clk_slow_rc_osc_recalc_rate() argument
/linux-4.1.27/drivers/clk/pxa/
Dclk-pxa27x.c149 unsigned long parent_rate) in clk_pxa27x_cpll_get_rate() argument
162 L = l * parent_rate; in clk_pxa27x_cpll_get_rate()
171 unsigned long parent_rate) in clk_pxa27x_lcd_base_get_rate() argument
181 return parent_rate * 2; in clk_pxa27x_lcd_base_get_rate()
183 return parent_rate; in clk_pxa27x_lcd_base_get_rate()
187 return parent_rate; in clk_pxa27x_lcd_base_get_rate()
189 return parent_rate / 2; in clk_pxa27x_lcd_base_get_rate()
190 return parent_rate / 4; in clk_pxa27x_lcd_base_get_rate()
221 unsigned long parent_rate) in clk_pxa27x_core_get_rate() argument
234 return parent_rate; in clk_pxa27x_core_get_rate()
[all …]
Dclk-pxa3xx.c85 unsigned long parent_rate) in clk_pxa3xx_ac97_get_rate() argument
94 rate = parent_rate / 2; in clk_pxa3xx_ac97_get_rate()
104 unsigned long parent_rate) in clk_pxa3xx_smemc_get_rate() argument
109 return (parent_rate / 48) * smcfs_mult[(acsr >> 23) & 0x7] / in clk_pxa3xx_smemc_get_rate()
195 unsigned long parent_rate) in clk_pxa3xx_system_bus_get_rate() argument
201 return parent_rate; in clk_pxa3xx_system_bus_get_rate()
202 return parent_rate / 48 * hss_mult[hss]; in clk_pxa3xx_system_bus_get_rate()
217 unsigned long parent_rate) in clk_pxa3xx_core_get_rate() argument
219 return parent_rate; in clk_pxa3xx_core_get_rate()
242 unsigned long parent_rate) in clk_pxa3xx_run_get_rate() argument
[all …]
Dclk-pxa25x.c86 unsigned long parent_rate) in clk_pxa25x_memory_get_rate() argument
91 return parent_rate / m; in clk_pxa25x_memory_get_rate()
156 unsigned long parent_rate) in clk_pxa25x_core_get_rate() argument
158 return parent_rate; in clk_pxa25x_core_get_rate()
164 unsigned long parent_rate) in clk_pxa25x_run_get_rate() argument
169 return (parent_rate / n2) * 2; in clk_pxa25x_run_get_rate()
175 unsigned long parent_rate) in clk_pxa25x_cpll_get_rate() argument
187 return m * l * n2 * parent_rate / 2; in clk_pxa25x_cpll_get_rate()
188 return m * l * parent_rate; in clk_pxa25x_cpll_get_rate()
Dclk-pxa.c40 unsigned long parent_rate) in cken_recalc_rate() argument
50 return clk_fixed_factor_ops.recalc_rate(&fix->hw, parent_rate); in cken_recalc_rate()
/linux-4.1.27/drivers/clk/sunxi/
Dclk-sun9i-core.c35 static void sun9i_a80_get_pll4_factors(u32 *freq, u32 parent_rate, in sun9i_a80_get_pll4_factors() argument
114 static void sun9i_a80_get_gt_factors(u32 *freq, u32 parent_rate, in sun9i_a80_get_gt_factors() argument
119 if (parent_rate < *freq) in sun9i_a80_get_gt_factors()
120 *freq = parent_rate; in sun9i_a80_get_gt_factors()
122 div = DIV_ROUND_UP(parent_rate, *freq); in sun9i_a80_get_gt_factors()
128 *freq = parent_rate / div; in sun9i_a80_get_gt_factors()
179 static void sun9i_a80_get_ahb_factors(u32 *freq, u32 parent_rate, in sun9i_a80_get_ahb_factors() argument
184 if (parent_rate < *freq) in sun9i_a80_get_ahb_factors()
185 *freq = parent_rate; in sun9i_a80_get_ahb_factors()
187 _p = order_base_2(DIV_ROUND_UP(parent_rate, *freq)); in sun9i_a80_get_ahb_factors()
[all …]
Dclk-sunxi.c62 unsigned long parent_rate) in sun6i_ahb1_clk_recalc_rate() argument
73 parent_rate /= SUN6I_AHB1_PLL6_DIV_GET(reg) + 1; in sun6i_ahb1_clk_recalc_rate()
76 rate = parent_rate >> SUN6I_AHB1_DIV_GET(reg); in sun6i_ahb1_clk_recalc_rate()
82 u8 parent, unsigned long parent_rate) in sun6i_ahb1_clk_round() argument
90 if (parent_rate && rate > parent_rate) in sun6i_ahb1_clk_round()
91 rate = parent_rate; in sun6i_ahb1_clk_round()
93 div = DIV_ROUND_UP(parent_rate, rate); in sun6i_ahb1_clk_round()
118 return (parent_rate / calcm) >> calcp; in sun6i_ahb1_clk_round()
129 unsigned long parent_rate, best = 0, child_rate, best_child_rate = 0; in sun6i_ahb1_clk_determine_rate() local
138 parent_rate = __clk_round_rate(parent, rate); in sun6i_ahb1_clk_determine_rate()
[all …]
Dclk-sun6i-ar100.c37 unsigned long parent_rate) in ar100_recalc_rate() argument
44 return (parent_rate >> shift) / (div + 1); in ar100_recalc_rate()
60 unsigned long parent_rate; in ar100_determine_rate() local
67 parent_rate = __clk_get_rate(parent); in ar100_determine_rate()
68 div = DIV_ROUND_UP(parent_rate, rate); in ar100_determine_rate()
103 tmp_rate = (parent_rate >> shift) / div; in ar100_determine_rate()
106 *best_parent_rate = parent_rate; in ar100_determine_rate()
137 unsigned long parent_rate) in ar100_set_rate() argument
139 unsigned long div = parent_rate / rate; in ar100_set_rate()
144 if (parent_rate % rate) in ar100_set_rate()
Dclk-sun8i-mbus.c29 static void sun8i_a23_get_mbus_factors(u32 *freq, u32 parent_rate, in sun8i_a23_get_mbus_factors() argument
38 if (*freq > parent_rate) in sun8i_a23_get_mbus_factors()
39 *freq = parent_rate; in sun8i_a23_get_mbus_factors()
41 div = DIV_ROUND_UP(parent_rate, *freq); in sun8i_a23_get_mbus_factors()
46 *freq = parent_rate / div; in sun8i_a23_get_mbus_factors()
Dclk-factors.c45 unsigned long parent_rate) in clk_factors_recalc_rate() argument
67 rate = (parent_rate * (n + config->n_start) * (k + 1) >> p) / (m + 1); in clk_factors_recalc_rate()
73 unsigned long *parent_rate) in clk_factors_round_rate() argument
76 factors->get_factors((u32 *)&rate, (u32)*parent_rate, in clk_factors_round_rate()
90 unsigned long parent_rate, best = 0, child_rate, best_child_rate = 0; in clk_factors_determine_rate() local
99 parent_rate = __clk_round_rate(parent, rate); in clk_factors_determine_rate()
101 parent_rate = __clk_get_rate(parent); in clk_factors_determine_rate()
103 child_rate = clk_factors_round_rate(hw, rate, &parent_rate); in clk_factors_determine_rate()
107 best = parent_rate; in clk_factors_determine_rate()
120 unsigned long parent_rate) in clk_factors_set_rate() argument
[all …]
Dclk-mod0.c30 static void sun4i_a10_get_mod0_factors(u32 *freq, u32 parent_rate, in sun4i_a10_get_mod0_factors() argument
37 if (*freq > parent_rate) in sun4i_a10_get_mod0_factors()
38 *freq = parent_rate; in sun4i_a10_get_mod0_factors()
40 div = DIV_ROUND_UP(parent_rate, *freq); in sun4i_a10_get_mod0_factors()
53 *freq = (parent_rate >> calcp) / calcm; in sun4i_a10_get_mod0_factors()
Dclk-factors.h27 void (*getter) (u32 *rate, u32 parent_rate, u8 *n, u8 *k, u8 *m, u8 *p);
/linux-4.1.27/drivers/clk/
Dclk-divider.c115 unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate, in divider_recalc_rate() argument
127 return parent_rate; in divider_recalc_rate()
130 return DIV_ROUND_UP(parent_rate, div); in divider_recalc_rate()
135 unsigned long parent_rate) in clk_divider_recalc_rate() argument
143 return divider_recalc_rate(hw, parent_rate, val, divider->table, in clk_divider_recalc_rate()
205 unsigned long parent_rate, unsigned long rate, in _div_round_up() argument
208 int div = DIV_ROUND_UP(parent_rate, rate); in _div_round_up()
219 unsigned long parent_rate, unsigned long rate, in _div_round_closest() argument
225 up = DIV_ROUND_UP(parent_rate, rate); in _div_round_closest()
226 down = parent_rate / rate; in _div_round_closest()
[all …]
Dclk-highbank.c105 unsigned long parent_rate) in clk_pll_recalc_rate() argument
112 return parent_rate; in clk_pll_recalc_rate()
116 vco_freq = parent_rate * (divf + 1); in clk_pll_recalc_rate()
146 unsigned long *parent_rate) in clk_pll_round_rate() argument
149 unsigned long ref_freq = *parent_rate; in clk_pll_round_rate()
157 unsigned long parent_rate) in clk_pll_set_rate() argument
163 clk_pll_calc(rate, parent_rate, &divq, &divf); in clk_pll_set_rate()
205 unsigned long parent_rate) in clk_cpu_periphclk_recalc_rate() argument
209 return parent_rate / div; in clk_cpu_periphclk_recalc_rate()
217 unsigned long parent_rate) in clk_cpu_a9bclk_recalc_rate() argument
[all …]
Dclk-vt8500.c124 unsigned long parent_rate) in vt8500_dclk_recalc_rate() argument
137 return parent_rate / div; in vt8500_dclk_recalc_rate()
167 unsigned long parent_rate) in vt8500_dclk_set_rate() argument
176 divisor = parent_rate / rate; in vt8500_dclk_set_rate()
358 static void vt8500_find_pll_bits(unsigned long rate, unsigned long parent_rate, in vt8500_find_pll_bits() argument
364 if ((rate < parent_rate * 4) || (rate > parent_rate * 62)) { in vt8500_find_pll_bits()
370 if (rate <= parent_rate * 31) in vt8500_find_pll_bits()
376 *multiplier = rate / (parent_rate / *prediv); in vt8500_find_pll_bits()
377 tclk = (parent_rate / *prediv) * *multiplier; in vt8500_find_pll_bits()
384 static void wm8650_find_pll_bits(unsigned long rate, unsigned long parent_rate, in wm8650_find_pll_bits() argument
[all …]
Dclk-xgene.c85 unsigned long parent_rate) in xgene_clk_pll_recalc_rate() argument
103 fvco = parent_rate * (N_DIV_RD(pll) + 4); in xgene_clk_pll_recalc_rate()
113 fref = parent_rate / nref; in xgene_clk_pll_recalc_rate()
117 fvco / nout, parent_rate); in xgene_clk_pll_recalc_rate()
310 unsigned long parent_rate) in xgene_clk_recalc_rate() argument
322 pclk->name, parent_rate / data, parent_rate); in xgene_clk_recalc_rate()
323 return parent_rate / data; in xgene_clk_recalc_rate()
326 pclk->name, parent_rate, parent_rate); in xgene_clk_recalc_rate()
327 return parent_rate; in xgene_clk_recalc_rate()
332 unsigned long parent_rate) in xgene_clk_set_rate() argument
[all …]
Dclk-si5351.c270 unsigned long parent_rate) in si5351_clkin_recalc_rate() argument
277 rate = parent_rate; in si5351_clkin_recalc_rate()
278 if (parent_rate > 160000000) { in si5351_clkin_recalc_rate()
281 } else if (parent_rate > 80000000) { in si5351_clkin_recalc_rate()
284 } else if (parent_rate > 40000000) { in si5351_clkin_recalc_rate()
325 unsigned long parent_rate) in si5351_vxco_recalc_rate() argument
419 unsigned long parent_rate) in si5351_pll_recalc_rate() argument
431 return parent_rate; in si5351_pll_recalc_rate()
437 rate *= parent_rate; in si5351_pll_recalc_rate()
444 parent_rate, (unsigned long)rate); in si5351_pll_recalc_rate()
[all …]
Dclk-cdce706.c168 unsigned long parent_rate) in cdce706_pll_recalc_rate() argument
178 u64 res = (u64)parent_rate * hwd->mul; in cdce706_pll_recalc_rate()
185 return parent_rate / hwd->div; in cdce706_pll_recalc_rate()
191 unsigned long *parent_rate) in cdce706_pll_round_rate() argument
199 __func__, rate, *parent_rate); in cdce706_pll_round_rate()
201 rational_best_approximation(rate, *parent_rate, in cdce706_pll_round_rate()
211 res = (u64)*parent_rate * hwd->mul; in cdce706_pll_round_rate()
217 unsigned long parent_rate) in cdce706_pll_set_rate() argument
283 unsigned long parent_rate) in cdce706_divider_recalc_rate() argument
291 return parent_rate / hwd->div; in cdce706_divider_recalc_rate()
[all …]
Dclk-fractional-divider.c21 unsigned long parent_rate) in clk_fd_recalc_rate() argument
40 return parent_rate; in clk_fd_recalc_rate()
42 ret = (u64)parent_rate * m; in clk_fd_recalc_rate()
69 unsigned long parent_rate) in clk_fd_set_rate() argument
77 div = gcd(parent_rate, rate); in clk_fd_set_rate()
79 n = parent_rate / div; in clk_fd_set_rate()
Dclk-composite.c47 unsigned long parent_rate) in clk_composite_recalc_rate() argument
55 return rate_ops->recalc_rate(rate_hw, parent_rate); in clk_composite_recalc_rate()
70 unsigned long parent_rate; in clk_composite_determine_rate() local
100 parent_rate = __clk_get_rate(parent); in clk_composite_determine_rate()
103 &parent_rate); in clk_composite_determine_rate()
112 *best_parent_rate = parent_rate; in clk_composite_determine_rate()
146 unsigned long parent_rate) in clk_composite_set_rate() argument
154 return rate_ops->set_rate(rate_hw, rate, parent_rate); in clk_composite_set_rate()
Dclk-axi-clkgen.c359 unsigned long rate, unsigned long parent_rate) in axi_clkgen_set_rate() argument
370 if (parent_rate == 0 || rate == 0) in axi_clkgen_set_rate()
373 axi_clkgen_calc_params(parent_rate, rate, &d, &m, &dout); in axi_clkgen_set_rate()
409 unsigned long *parent_rate) in axi_clkgen_round_rate() argument
413 axi_clkgen_calc_params(*parent_rate, rate, &d, &m, &dout); in axi_clkgen_round_rate()
418 return *parent_rate / d * m / dout; in axi_clkgen_round_rate()
422 unsigned long parent_rate) in axi_clkgen_recalc_rate() argument
439 tmp = (unsigned long long)(parent_rate / d) * m; in axi_clkgen_recalc_rate()
Dclk-fixed-factor.c29 unsigned long parent_rate) in clk_factor_recalc_rate() argument
34 rate = (unsigned long long int)parent_rate * fix->mult; in clk_factor_recalc_rate()
56 unsigned long parent_rate) in clk_factor_set_rate() argument
Dclk-u300.c565 unsigned long parent_rate) in syscon_clk_recalc_rate() argument
582 return parent_rate; /* 26 MHz */ in syscon_clk_recalc_rate()
595 return parent_rate; /* 52 MHz */ in syscon_clk_recalc_rate()
620 return parent_rate; /* 208 MHz */ in syscon_clk_recalc_rate()
627 return parent_rate; in syscon_clk_recalc_rate()
650 unsigned long parent_rate) in syscon_clk_set_rate() argument
979 unsigned long parent_rate) in mclk_clk_recalc_rate() argument
1037 return parent_rate; in mclk_clk_recalc_rate()
1063 unsigned long parent_rate) in mclk_clk_set_rate() argument
Dclk-nomadik.c220 unsigned long parent_rate) in pll_clk_recalc_rate() argument
234 return (parent_rate * mul) >> div; in pll_clk_recalc_rate()
242 return (parent_rate * mul); in pll_clk_recalc_rate()
337 unsigned long parent_rate) in src_clk_recalc_rate() argument
339 return parent_rate; in src_clk_recalc_rate()
Dclk.c809 unsigned long parent_rate, best = 0; in clk_mux_determine_rate_flags() local
831 parent_rate = __clk_determine_rate(parent->hw, rate, in clk_mux_determine_rate_flags()
835 parent_rate = clk_core_get_rate_nolock(parent); in clk_mux_determine_rate_flags()
836 if (mux_is_better_rate(rate, parent_rate, best, flags)) { in clk_mux_determine_rate_flags()
838 best = parent_rate; in clk_mux_determine_rate_flags()
1132 unsigned long parent_rate = 0; in clk_core_round_rate_nolock() local
1143 parent_rate = parent->rate; in clk_core_round_rate_nolock()
1149 &parent_rate, &parent_hw); in clk_core_round_rate_nolock()
1151 return clk->ops->round_rate(clk->hw, rate, &parent_rate); in clk_core_round_rate_nolock()
1325 unsigned long parent_rate) in clk_recalc() argument
[all …]
Dclk-axm5516.c51 axxia_pllclk_recalc(struct clk_hw *hw, unsigned long parent_rate) in axxia_pllclk_recalc() argument
62 rate = (parent_rate / (refdiv * postdiv)) * fbdiv; in axxia_pllclk_recalc()
90 axxia_divclk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in axxia_divclk_recalc_rate() argument
99 return parent_rate / div; in axxia_divclk_recalc_rate()
Dclk-wm831x.c43 unsigned long parent_rate) in wm831x_xtal_recalc_rate() argument
123 unsigned long parent_rate) in wm831x_fll_recalc_rate() argument
160 unsigned long parent_rate) in wm831x_fll_set_rate() argument
Dclk-si570.c229 unsigned long parent_rate) in si570_recalc_rate() argument
249 unsigned long *parent_rate) in si570_round_rate() argument
342 unsigned long parent_rate) in si570_set_rate() argument
Dclk-fixed-rate.c32 unsigned long parent_rate) in clk_fixed_rate_recalc_rate() argument
Dclk-mb86s7x.c147 crg_port_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in crg_port_recalc_rate() argument
165 unsigned long rate, unsigned long parent_rate) in crg_port_set_rate() argument
Dclk-pwm.c43 unsigned long parent_rate) in clk_pwm_recalc_rate() argument
Dclk-ls1x.c33 unsigned long parent_rate) in ls1x_pll_recalc_rate() argument
Dclk-rk808.c36 unsigned long parent_rate) in rk808_clkout_recalc_rate() argument
Dclk-max-gen.c77 unsigned long parent_rate) in max_gen_recalc_rate() argument
Dclk-palmas.c58 unsigned long parent_rate) in palmas_clks_recalc_rate() argument
Dclk-s2mps11.c94 unsigned long parent_rate) in s2mps11_clk_recalc_rate() argument
/linux-4.1.27/drivers/clk/mxs/
Dclk-frac.c41 unsigned long parent_rate) in clk_frac_recalc_rate() argument
49 return (parent_rate >> frac->width) * div; in clk_frac_recalc_rate()
56 unsigned long parent_rate = *prate; in clk_frac_round_rate() local
60 if (rate > parent_rate) in clk_frac_round_rate()
65 do_div(tmp, parent_rate); in clk_frac_round_rate()
71 return (parent_rate >> frac->width) * div; in clk_frac_round_rate()
75 unsigned long parent_rate) in clk_frac_set_rate() argument
82 if (rate > parent_rate) in clk_frac_set_rate()
87 do_div(tmp, parent_rate); in clk_frac_set_rate()
Dclk-ref.c55 unsigned long parent_rate) in clk_ref_recalc_rate() argument
58 u64 tmp = parent_rate; in clk_ref_recalc_rate()
70 unsigned long parent_rate = *prate; in clk_ref_round_rate() local
71 u64 tmp = parent_rate; in clk_ref_round_rate()
83 tmp = parent_rate; in clk_ref_round_rate()
91 unsigned long parent_rate) in clk_ref_set_rate() argument
95 u64 tmp = parent_rate; in clk_ref_set_rate()
Dclk-div.c43 unsigned long parent_rate) in clk_div_recalc_rate() argument
47 return div->ops->recalc_rate(&div->divider.hw, parent_rate); in clk_div_recalc_rate()
59 unsigned long parent_rate) in clk_div_set_rate() argument
64 ret = div->ops->set_rate(&div->divider.hw, rate, parent_rate); in clk_div_set_rate()
Dclk-pll.c74 unsigned long parent_rate) in clk_pll_recalc_rate() argument
/linux-4.1.27/drivers/clk/ti/
Dfapll.c166 unsigned long parent_rate) in ti_fapll_recalc_rate() argument
173 return parent_rate; in ti_fapll_recalc_rate()
175 rate = parent_rate; in ti_fapll_recalc_rate()
200 unsigned long parent_rate, in ti_fapll_set_div_mult() argument
209 if (rate < parent_rate) { in ti_fapll_set_div_mult()
214 *mult_n = rate / parent_rate; in ti_fapll_set_div_mult()
223 unsigned long *parent_rate) in ti_fapll_round_rate() argument
231 error = ti_fapll_set_div_mult(rate, *parent_rate, in ti_fapll_round_rate()
236 rate = *parent_rate / pre_div_p; in ti_fapll_round_rate()
243 unsigned long parent_rate) in ti_fapll_set_rate() argument
[all …]
Dclk-dra7-atl.c120 unsigned long parent_rate) in atl_clk_recalc_rate() argument
124 return parent_rate / cdesc->divider; in atl_clk_recalc_rate()
128 unsigned long *parent_rate) in atl_clk_round_rate() argument
132 divider = (*parent_rate + rate / 2) / rate; in atl_clk_round_rate()
136 return *parent_rate / divider; in atl_clk_round_rate()
140 unsigned long parent_rate) in atl_clk_set_rate() argument
149 divider = ((parent_rate + rate / 2) / rate) - 1; in atl_clk_set_rate()
Ddivider.c100 unsigned long parent_rate) in ti_clk_divider_recalc_rate() argument
113 return parent_rate; in ti_clk_divider_recalc_rate()
116 return DIV_ROUND_UP(parent_rate, div); in ti_clk_divider_recalc_rate()
150 unsigned long parent_rate, best = 0, now, maxdiv; in ti_clk_divider_bestdiv() local
159 parent_rate = *best_parent_rate; in ti_clk_divider_bestdiv()
160 bestdiv = DIV_ROUND_UP(parent_rate, rate); in ti_clk_divider_bestdiv()
184 parent_rate = __clk_round_rate(__clk_get_parent(hw->clk), in ti_clk_divider_bestdiv()
186 now = DIV_ROUND_UP(parent_rate, i); in ti_clk_divider_bestdiv()
190 *best_parent_rate = parent_rate; in ti_clk_divider_bestdiv()
213 unsigned long parent_rate) in ti_clk_divider_set_rate() argument
[all …]
Dcomposite.c34 unsigned long parent_rate) in ti_composite_recalc_rate() argument
36 return ti_clk_divider_ops.recalc_rate(hw, parent_rate); in ti_composite_recalc_rate()
46 unsigned long parent_rate) in ti_composite_set_rate() argument
Dapll.c241 unsigned long parent_rate) in omap2_apll_recalc() argument
/linux-4.1.27/arch/arm/mach-omap2/
Dclock2xxx.h15 unsigned long parent_rate);
17 unsigned long parent_rate);
19 unsigned long *parent_rate);
21 unsigned long parent_rate);
23 unsigned long parent_rate);
Dclkt_clksel.c237 unsigned long parent_rate; in omap2_clksel_round_rate_div() local
242 parent_rate = __clk_get_rate(parent); in omap2_clksel_round_rate_div()
267 test_rate = parent_rate / clkr->div; in omap2_clksel_round_rate_div()
282 (parent_rate / clkr->div)); in omap2_clksel_round_rate_div()
284 return parent_rate / clkr->div; in omap2_clksel_round_rate_div()
356 unsigned long omap2_clksel_recalc(struct clk_hw *hw, unsigned long parent_rate) in omap2_clksel_recalc() argument
362 if (!parent_rate) in omap2_clksel_recalc()
367 rate = parent_rate; in omap2_clksel_recalc()
369 rate = parent_rate / div; in omap2_clksel_recalc()
389 unsigned long *parent_rate) in omap2_clksel_round_rate() argument
[all …]
Dclock3xxx.c54 unsigned long parent_rate) in omap3_dpll4_set_rate() argument
66 return omap3_noncore_dpll_set_rate(hw, rate, parent_rate); in omap3_dpll4_set_rate()
82 unsigned long parent_rate, u8 index) in omap3_dpll4_set_rate_and_parent() argument
89 return omap3_noncore_dpll_set_rate_and_parent(hw, rate, parent_rate, in omap3_dpll4_set_rate_and_parent()
Dclkt_dpll.c111 static unsigned long _dpll_compute_new_rate(unsigned long parent_rate, in _dpll_compute_new_rate() argument
116 num = (unsigned long long)parent_rate * m; in _dpll_compute_new_rate()
143 unsigned long parent_rate) in _dpll_test_mult() argument
156 *new_rate = _dpll_compute_new_rate(parent_rate, *m, n); in _dpll_test_mult()
170 *new_rate = _dpll_compute_new_rate(parent_rate, *m, n); in _dpll_test_mult()
284 unsigned long *parent_rate) in omap2_dpll_round_rate() argument
Ddpll3xxx.c385 unsigned long omap3_dpll_recalc(struct clk_hw *hw, unsigned long parent_rate) in omap3_dpll_recalc() argument
540 unsigned long parent_rate) in omap3_noncore_dpll_set_rate() argument
590 unsigned long parent_rate, in omap3_noncore_dpll_set_rate_and_parent() argument
606 ret = omap3_noncore_dpll_set_rate(hw, rate, parent_rate); in omap3_noncore_dpll_set_rate_and_parent()
737 unsigned long parent_rate) in omap3_clkoutx2_recalc() argument
744 if (!parent_rate) in omap3_clkoutx2_recalc()
759 rate = parent_rate; in omap3_clkoutx2_recalc()
761 rate = parent_rate * 2; in omap3_clkoutx2_recalc()
766 unsigned long parent_rate) in omap3_clkoutx2_set_rate() argument
Dclkt2xxx_virt_prcm_set.c62 unsigned long parent_rate) in omap2_table_mpu_recalc() argument
75 unsigned long *parent_rate) in omap2_round_to_table_rate() argument
99 unsigned long parent_rate) in omap2_select_table_rate() argument
Dclkt2xxx_dpllcore.c106 unsigned long parent_rate) in omap2_dpllcore_recalc() argument
112 unsigned long parent_rate) in omap2_reprogram_dpllcore() argument
Dclock.h196 unsigned long omap2_clksel_recalc(struct clk_hw *hw, unsigned long parent_rate);
198 unsigned long *parent_rate);
200 unsigned long parent_rate);
Ddpll44xx.c115 unsigned long parent_rate) in omap4_dpll_regm4xen_recalc() argument
151 unsigned long *parent_rate) in omap4_dpll_regm4xen_round_rate() argument
Dclock3xxx.h13 unsigned long parent_rate);
Dclkt34xx_dpll3m2.c48 unsigned long parent_rate) in omap3_core_dpll_m2_set_rate() argument
/linux-4.1.27/include/linux/clk/
Dti.h267 unsigned long parent_rate);
270 unsigned long parent_rate,
279 unsigned long parent_rate);
282 unsigned long *parent_rate);
290 unsigned long omap3_dpll_recalc(struct clk_hw *hw, unsigned long parent_rate);
292 unsigned long *parent_rate);
295 unsigned long parent_rate);
297 unsigned long parent_rate);
305 unsigned long parent_rate);
307 unsigned long parent_rate, u8 index);
[all …]
/linux-4.1.27/drivers/clk/tegra/
Dclk-pll.c394 unsigned long rate, unsigned long parent_rate) in _get_table_rate() argument
400 if (sel->input_rate == parent_rate && in _get_table_rate()
418 unsigned long rate, unsigned long parent_rate) in _calc_rate() argument
425 switch (parent_rate) { in _calc_rate()
442 cfreq = parent_rate/(parent_rate/1000000); in _calc_rate()
446 __func__, parent_rate); in _calc_rate()
455 cfg->m = parent_rate / cfreq; in _calc_rate()
588 unsigned long parent_rate) in clk_pll_set_rate() argument
605 if (_get_table_rate(hw, &cfg, rate, parent_rate) && in clk_pll_set_rate()
606 _calc_rate(hw, &cfg, rate, parent_rate)) { in clk_pll_set_rate()
[all …]
Dclk-divider.c34 unsigned long parent_rate) in get_div() argument
36 s64 divider_ux1 = parent_rate; in get_div()
68 unsigned long parent_rate) in clk_frac_div_recalc_rate() argument
73 u64 rate = parent_rate; in clk_frac_div_recalc_rate()
108 unsigned long parent_rate) in clk_frac_div_set_rate() argument
115 div = get_div(divider, rate, parent_rate); in clk_frac_div_set_rate()
Dclk-periph.c48 unsigned long parent_rate) in clk_periph_recalc_rate() argument
56 return div_ops->recalc_rate(div_hw, parent_rate); in clk_periph_recalc_rate()
72 unsigned long parent_rate) in clk_periph_set_rate() argument
80 return div_ops->set_rate(div_hw, rate, parent_rate); in clk_periph_set_rate()
Dclk-audio-sync.c24 unsigned long parent_rate) in clk_sync_source_recalc_rate() argument
43 unsigned long parent_rate) in clk_sync_source_set_rate() argument
Dclk.h295 spinlock_t *lock, unsigned long parent_rate);
/linux-4.1.27/drivers/clk/mvebu/
Dclk-cpu.c50 unsigned long parent_rate) in clk_cpu_recalc_rate() argument
57 return parent_rate / div; in clk_cpu_recalc_rate()
61 unsigned long *parent_rate) in clk_cpu_round_rate() argument
66 div = *parent_rate / rate; in clk_cpu_round_rate()
72 return *parent_rate / div; in clk_cpu_round_rate()
76 unsigned long parent_rate) in clk_cpu_off_set_rate() argument
83 div = parent_rate / rate; in clk_cpu_off_set_rate()
110 unsigned long parent_rate) in clk_cpu_on_set_rate() argument
153 unsigned long parent_rate) in clk_cpu_set_rate() argument
156 return clk_cpu_on_set_rate(hwclk, rate, parent_rate); in clk_cpu_set_rate()
[all …]
Dclk-corediv.c123 unsigned long parent_rate) in clk_corediv_recalc_rate() argument
132 return parent_rate / div; in clk_corediv_recalc_rate()
136 unsigned long *parent_rate) in clk_corediv_round_rate() argument
141 div = *parent_rate / rate; in clk_corediv_round_rate()
147 return *parent_rate / div; in clk_corediv_round_rate()
151 unsigned long parent_rate) in clk_corediv_set_rate() argument
159 div = parent_rate / rate; in clk_corediv_set_rate()
/linux-4.1.27/drivers/clk/mmp/
Dclk-mix.c117 unsigned long parent_rate; in _filter_clk_table() local
124 parent_rate = __clk_get_rate(parent); in _filter_clk_table()
125 if (parent_rate % item->rate) { in _filter_clk_table()
128 item->divisor = parent_rate / item->rate; in _filter_clk_table()
213 unsigned long parent_rate, mix_rate, mix_rate_best, parent_rate_best; in mmp_clk_mix_determine_rate() local
234 parent_rate = __clk_get_rate(parent); in mmp_clk_mix_determine_rate()
235 mix_rate = parent_rate / item->divisor; in mmp_clk_mix_determine_rate()
239 parent_rate_best = parent_rate; in mmp_clk_mix_determine_rate()
249 parent_rate = __clk_get_rate(parent); in mmp_clk_mix_determine_rate()
253 mix_rate = parent_rate / div; in mmp_clk_mix_determine_rate()
[all …]
Dclk-frac.c52 unsigned long parent_rate) in clk_factor_recalc_rate() argument
69 return (((parent_rate / 10000) * den) / in clk_factor_recalc_rate()
/linux-4.1.27/drivers/clk/qcom/
Dclk-rcg2.c153 clk_rcg2_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in clk_rcg2_recalc_rate() argument
176 return calc_rate(parent_rate, m, n, mode, hid_div); in clk_rcg2_recalc_rate()
282 unsigned long parent_rate) in clk_rcg2_set_rate() argument
288 unsigned long rate, unsigned long parent_rate, u8 index) in clk_rcg2_set_rate_and_parent() argument
332 unsigned long parent_rate) in clk_edp_pixel_set_rate() argument
338 s64 src_rate = parent_rate; in clk_edp_pixel_set_rate()
371 unsigned long rate, unsigned long parent_rate, u8 index) in clk_edp_pixel_set_rate_and_parent() argument
374 return clk_edp_pixel_set_rate(hw, rate, parent_rate); in clk_edp_pixel_set_rate_and_parent()
438 unsigned long parent_rate, div; in clk_byte_determine_rate() local
447 *p_rate = parent_rate = __clk_round_rate(p, rate); in clk_byte_determine_rate()
[all …]
Dclk-regmap-divider.c36 unsigned long parent_rate) in div_set_rate() argument
42 div = divider_get_val(rate, parent_rate, NULL, divider->width, in div_set_rate()
51 unsigned long parent_rate) in div_recalc_rate() argument
61 return divider_recalc_rate(hw, parent_rate, div, NULL, in div_recalc_rate()
Dclk-rcg.c350 clk_rcg_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in clk_rcg_recalc_rate() argument
371 return calc_rate(parent_rate, m, n, mode, pre_div); in clk_rcg_recalc_rate()
375 clk_dyn_rcg_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in clk_dyn_rcg_recalc_rate() argument
404 return calc_rate(parent_rate, m, n, mode, pre_div); in clk_dyn_rcg_recalc_rate()
530 unsigned long parent_rate) in clk_rcg_set_rate() argument
543 unsigned long parent_rate) in clk_rcg_bypass_set_rate() argument
562 unsigned long parent_rate) in clk_rcg_lcc_set_rate() argument
614 unsigned long parent_rate) in clk_dyn_rcg_set_rate() argument
620 unsigned long rate, unsigned long parent_rate, u8 index) in clk_dyn_rcg_set_rate_and_parent() argument
Dclk-pll.c93 clk_pll_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in clk_pll_recalc_rate() argument
108 rate = parent_rate * l; in clk_pll_recalc_rate()
110 tmp = parent_rate; in clk_pll_recalc_rate()
/linux-4.1.27/arch/mips/alchemy/common/
Dclock.c117 unsigned long parent_rate) in alchemy_clk_cpu_recalc() argument
132 t *= parent_rate; in alchemy_clk_cpu_recalc()
178 unsigned long parent_rate) in alchemy_clk_aux_recalc() argument
182 return (alchemy_rdsys(a->reg) & 0xff) * parent_rate; in alchemy_clk_aux_recalc()
187 unsigned long parent_rate) in alchemy_clk_aux_setr() argument
193 d /= parent_rate; in alchemy_clk_aux_setr()
207 unsigned long *parent_rate) in alchemy_clk_aux_roundr() argument
212 if (!rate || !*parent_rate) in alchemy_clk_aux_roundr()
215 mult = rate / (*parent_rate); in alchemy_clk_aux_roundr()
222 return (*parent_rate) * mult; in alchemy_clk_aux_roundr()
[all …]
/linux-4.1.27/drivers/clk/shmobile/
Dclk-div6.c80 unsigned long parent_rate) in cpg_div6_clock_recalc_rate() argument
85 return parent_rate / div; in cpg_div6_clock_recalc_rate()
89 unsigned long parent_rate) in cpg_div6_clock_calc_div() argument
96 div = DIV_ROUND_CLOSEST(parent_rate, rate); in cpg_div6_clock_calc_div()
101 unsigned long *parent_rate) in cpg_div6_clock_round_rate() argument
103 unsigned int div = cpg_div6_clock_calc_div(rate, *parent_rate); in cpg_div6_clock_round_rate()
105 return *parent_rate / div; in cpg_div6_clock_round_rate()
109 unsigned long parent_rate) in cpg_div6_clock_set_rate() argument
112 unsigned int div = cpg_div6_clock_calc_div(rate, parent_rate); in cpg_div6_clock_set_rate()
Dclk-rcar-gen2.c58 unsigned long parent_rate) in cpg_z_clk_recalc_rate() argument
68 return div_u64((u64)parent_rate * mult, 32); in cpg_z_clk_recalc_rate()
72 unsigned long *parent_rate) in cpg_z_clk_round_rate() argument
74 unsigned long prate = *parent_rate; in cpg_z_clk_round_rate()
83 return *parent_rate / 32 * mult; in cpg_z_clk_round_rate()
87 unsigned long parent_rate) in cpg_z_clk_set_rate() argument
94 mult = div_u64((u64)rate * 32, parent_rate); in cpg_z_clk_set_rate()
/linux-4.1.27/drivers/clk/st/
Dclk-flexgen.c98 clk_best_div(unsigned long parent_rate, unsigned long rate) in clk_best_div() argument
100 return parent_rate / rate + ((rate > (2*(parent_rate % rate))) ? 0 : 1); in clk_best_div()
120 unsigned long parent_rate) in flexgen_recalc_rate() argument
130 mid_rate = clk_divider_ops.recalc_rate(pdiv_hw, parent_rate); in flexgen_recalc_rate()
136 unsigned long parent_rate) in flexgen_set_rate() argument
147 div = clk_best_div(parent_rate, rate); in flexgen_set_rate()
156 clk_divider_ops.set_rate(pdiv_hw, parent_rate, parent_rate); in flexgen_set_rate()
159 clk_divider_ops.set_rate(fdiv_hw, parent_rate, parent_rate); in flexgen_set_rate()
Dclkgen-pll.c274 unsigned long parent_rate) in recalc_stm_pll800c65() argument
291 res = (uint64_t)2 * (uint64_t)parent_rate * (uint64_t)ndiv; in recalc_stm_pll800c65()
301 unsigned long parent_rate) in recalc_stm_pll1600c65() argument
317 rate = ((2 * (parent_rate / 1000) * ndiv) / mdiv) * 1000; in recalc_stm_pll1600c65()
325 unsigned long parent_rate) in recalc_stm_pll3200c32() argument
339 rate = ((2 * (parent_rate/1000) * ndiv) / idf) * 1000; in recalc_stm_pll3200c32()
347 unsigned long parent_rate) in recalc_stm_pll1200c32() argument
366 rate = (((parent_rate / 1000) * ldf) / (odf * idf)) * 1000; in recalc_stm_pll1200c32()
Dclkgen-fsyn.c506 unsigned long parent_rate) in quadfs_pll_fs660c32_recalc_rate() argument
513 if (clk_fs660c32_vco_get_rate(parent_rate, &params, &rate)) in quadfs_pll_fs660c32_recalc_rate()
569 unsigned long parent_rate) in quadfs_pll_fs660c32_set_rate() argument
576 if (!rate || !parent_rate) in quadfs_pll_fs660c32_set_rate()
579 if (!clk_fs660c32_vco_get_params(parent_rate, rate, &params)) in quadfs_pll_fs660c32_set_rate()
580 clk_fs660c32_vco_get_rate(parent_rate, &params, &hwrate); in quadfs_pll_fs660c32_set_rate()
933 unsigned long parent_rate) in quadfs_recalc_rate() argument
946 if (clk_fs_get_rate(parent_rate, &params, &rate)) { in quadfs_recalc_rate()
989 unsigned long parent_rate) in quadfs_set_rate() argument
996 if (!rate || !parent_rate) in quadfs_set_rate()
[all …]
Dclkgen-mux.c172 unsigned long parent_rate) in clkgena_divmux_recalc_rate() argument
179 return clk_divider_ops.recalc_rate(div_hw, parent_rate); in clkgena_divmux_recalc_rate()
183 unsigned long parent_rate) in clkgena_divmux_set_rate() argument
190 return clk_divider_ops.set_rate(div_hw, rate, parent_rate); in clkgena_divmux_set_rate()
/linux-4.1.27/drivers/clk/spear/
Dclk-frac-synth.c69 unsigned long parent_rate) in clk_frac_recalc_rate() argument
88 parent_rate = parent_rate / 10000; in clk_frac_recalc_rate()
90 parent_rate = (parent_rate << 14) / (2 * div); in clk_frac_recalc_rate()
91 return parent_rate * 10000; in clk_frac_recalc_rate()
Dclk.c17 unsigned long parent_rate, clk_calc_rate calc_rate, u8 rtbl_cnt, in clk_round_rate_index() argument
24 rate = calc_rate(hw, parent_rate, *index); in clk_round_rate_index()
Dclk-vco-pll.c125 parent_rate) in clk_pll_recalc_rate()
141 return parent_rate / (1 << p); in clk_pll_recalc_rate()
193 unsigned long parent_rate) in clk_vco_recalc_rate() argument
226 return (((parent_rate / 10000) * num) / den) * 10000; in clk_vco_recalc_rate()
Dclk-gpt-synth.c56 unsigned long parent_rate) in clk_gpt_recalc_rate() argument
76 return parent_rate / div; in clk_gpt_recalc_rate()
Dclk-aux-synth.c66 unsigned long parent_rate) in clk_aux_recalc_rate() argument
95 return (((parent_rate / 10000) * num) / den) * 10000; in clk_aux_recalc_rate()
Dclk.h131 unsigned long parent_rate, clk_calc_rate calc_rate, u8 rtbl_cnt,
/linux-4.1.27/drivers/clk/versatile/
Dclk-icst.c82 unsigned long parent_rate) in icst_recalc_rate() argument
87 if (parent_rate) in icst_recalc_rate()
88 icst->params->ref = parent_rate; in icst_recalc_rate()
105 unsigned long parent_rate) in icst_set_rate() argument
110 if (parent_rate) in icst_set_rate()
111 icst->params->ref = parent_rate; in icst_set_rate()
Dclk-vexpress-osc.c32 unsigned long parent_rate) in vexpress_osc_recalc_rate() argument
43 unsigned long *parent_rate) in vexpress_osc_round_rate() argument
57 unsigned long parent_rate) in vexpress_osc_set_rate() argument
/linux-4.1.27/drivers/clk/bcm/
Dclk-kona.c693 unsigned long parent_rate) in clk_recalc_rate() argument
700 return parent_rate; in clk_recalc_rate()
702 if (parent_rate > (unsigned long)LONG_MAX) in clk_recalc_rate()
717 scaled_rate = scale_rate(pre_div, parent_rate); in clk_recalc_rate()
723 scaled_parent_rate = scale_rate(div, parent_rate); in clk_recalc_rate()
748 unsigned long rate, unsigned long parent_rate, in round_rate() argument
759 BUG_ON(parent_rate > (u64)LONG_MAX); in round_rate()
776 scaled_rate = scale_rate(pre_div, parent_rate); in round_rate()
782 scaled_parent_rate = scale_rate(div, parent_rate); in round_rate()
997 unsigned long parent_rate) in kona_peri_clk_recalc_rate() argument
[all …]
/linux-4.1.27/drivers/clk/samsung/
Dclk-pll.c74 unsigned long parent_rate) in samsung_pll2126_recalc_rate() argument
78 u64 fvco = parent_rate; in samsung_pll2126_recalc_rate()
107 unsigned long parent_rate) in samsung_pll3000_recalc_rate() argument
111 u64 fvco = parent_rate; in samsung_pll3000_recalc_rate()
144 unsigned long parent_rate) in samsung_pll35xx_recalc_rate() argument
148 u64 fvco = parent_rate; in samsung_pll35xx_recalc_rate()
247 unsigned long parent_rate) in samsung_pll36xx_recalc_rate() argument
252 u64 fvco = parent_rate; in samsung_pll36xx_recalc_rate()
282 unsigned long parent_rate) in samsung_pll36xx_set_rate() argument
361 unsigned long parent_rate) in samsung_pll45xx_recalc_rate() argument
[all …]
/linux-4.1.27/drivers/clk/pistachio/
Dclk-pll.c98 unsigned long *parent_rate) in pll_round_rate() argument
104 if (i > 0 && pll->rates[i].fref == *parent_rate && in pll_round_rate()
147 unsigned long parent_rate) in pll_gf40lp_frac_set_rate() argument
154 params = pll_get_params(pll, parent_rate, rate); in pll_gf40lp_frac_set_rate()
190 unsigned long parent_rate) in pll_gf40lp_frac_recalc_rate() argument
194 u64 rate = parent_rate; in pll_gf40lp_frac_recalc_rate()
264 unsigned long parent_rate) in pll_gf40lp_laint_set_rate() argument
271 params = pll_get_params(pll, parent_rate, rate); in pll_gf40lp_laint_set_rate()
300 unsigned long parent_rate) in pll_gf40lp_laint_recalc_rate() argument
304 u64 rate = parent_rate; in pll_gf40lp_laint_recalc_rate()
/linux-4.1.27/drivers/clk/sirf/
Dclk-common.c73 unsigned long parent_rate) in pll_clk_recalc_rate() argument
75 unsigned long fin = parent_rate; in pll_clk_recalc_rate()
95 unsigned long *parent_rate) in pll_clk_round_rate() argument
112 fin = *parent_rate; in pll_clk_round_rate()
126 unsigned long parent_rate) in pll_clk_set_rate() argument
140 fin = parent_rate; in pll_clk_set_rate()
162 unsigned long *parent_rate) in cpu_clk_round_rate() argument
175 unsigned long parent_rate) in cpu_clk_recalc_rate() argument
260 static unsigned long usb_pll_clk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in usb_pll_clk_recalc_rate() argument
263 return (reg & SIRFSOC_USBPHY_PLL_BYPASS) ? parent_rate : 48*MHZ; in usb_pll_clk_recalc_rate()
[all …]
/linux-4.1.27/drivers/clk/socfpga/
Dclk-periph.c29 unsigned long parent_rate) in clk_periclk_recalc_rate() argument
40 parent_rate /= (val + 1); in clk_periclk_recalc_rate()
45 return parent_rate / div; in clk_periclk_recalc_rate()
Dclk-pll.c50 unsigned long parent_rate) in clk_pll_recalc_rate() argument
60 return parent_rate; in clk_pll_recalc_rate()
64 vco_freq = (unsigned long long)parent_rate * (divf + 1); in clk_pll_recalc_rate()
Dclk-gate.c104 unsigned long parent_rate) in socfpga_clk_recalc_rate() argument
121 return parent_rate / div; in socfpga_clk_recalc_rate()
/linux-4.1.27/arch/mips/jz4740/
Dclock.c242 unsigned long parent_rate = jz_clk_pll_get_rate(clk->parent); in jz_clk_main_round_rate() local
245 div = parent_rate / rate; in jz_clk_main_round_rate()
247 return parent_rate / 32; in jz_clk_main_round_rate()
249 return parent_rate; in jz_clk_main_round_rate()
253 return parent_rate / div; in jz_clk_main_round_rate()
277 unsigned long parent_rate = jz_clk_pll_get_rate(clk->parent); in jz_clk_main_set_rate() local
281 div = parent_rate / rate; in jz_clk_main_set_rate()
516 unsigned long parent_rate = jz_clk_pll_half_get_rate(clk->parent); in jz_clk_ldclk_round_rate() local
521 div = parent_rate / rate; in jz_clk_ldclk_round_rate()
527 return parent_rate / div; in jz_clk_ldclk_round_rate()
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp4/
Dmdp4_lvds_pll.c106 unsigned long parent_rate) in mpd4_lvds_pll_recalc_rate() argument
113 unsigned long *parent_rate) in mpd4_lvds_pll_round_rate() argument
120 unsigned long parent_rate) in mpd4_lvds_pll_set_rate() argument
/linux-4.1.27/include/linux/
Dclk-provider.h175 unsigned long parent_rate);
177 unsigned long *parent_rate);
187 unsigned long parent_rate);
190 unsigned long parent_rate, u8 index);
365 unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate,
371 int divider_get_val(unsigned long rate, unsigned long parent_rate,
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/subdev/clk/
Dgk20a.c124 u32 parent_rate; member
145 rate = priv->parent_rate * priv->n; in gk20a_pllg_calc_rate()
166 ref_clk_f = priv->parent_rate / MHZ; in gk20a_pllg_calc_mnp()
358 priv->parent_rate / MHZ); in _gk20a_pllg_program_mnp()
391 priv->parent_rate / MHZ); in _gk20a_pllg_program_mnp()
449 priv->parent_rate / MHZ); in gk20a_pllg_disable()
661 priv->parent_rate = clk_get_rate(plat->gpu->clk); in gk20a_clk_ctor()
662 nv_info(priv, "parent clock rate: %d Mhz\n", priv->parent_rate / MHZ); in gk20a_clk_ctor()
/linux-4.1.27/drivers/video/fbdev/
Dsh_mobile_hdmi.c816 unsigned long *hdmi_rate, unsigned long *parent_rate) in sh_hdmi_rate_error() argument
827 rate_error = pdata->clk_optimize_parent(target, hdmi_rate, parent_rate); in sh_hdmi_rate_error()
829 *parent_rate = clk_get_rate(clk_get_parent(hdmi->hdmi_clk)); in sh_hdmi_rate_error()
839 mode->refresh, *parent_rate); in sh_hdmi_rate_error()
845 unsigned long *parent_rate) in sh_hdmi_read_edid() argument
947 rate_error = sh_hdmi_rate_error(hdmi, mode, hdmi_rate, parent_rate); in sh_hdmi_read_edid()
991 parent_rate); in sh_hdmi_read_edid()
1150 unsigned long parent_rate) in sh_hdmi_clk_configure() argument
1154 if (parent_rate && clk_get_parent(hdmi->hdmi_clk)) { in sh_hdmi_clk_configure()
1155 ret = clk_set_rate(clk_get_parent(hdmi->hdmi_clk), parent_rate); in sh_hdmi_clk_configure()
[all …]
/linux-4.1.27/drivers/clk/berlin/
Dberlin2-pll.c60 berlin2_pll_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in berlin2_pll_recalc_rate() argument
65 u64 rate = parent_rate; in berlin2_pll_recalc_rate()
Dberlin2-avpll.c167 berlin2_avpll_vco_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in berlin2_avpll_vco_recalc_rate() argument
171 u64 freq = parent_rate; in berlin2_avpll_vco_recalc_rate()
263 berlin2_avpll_channel_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) in berlin2_avpll_channel_recalc_rate() argument
267 u64 freq = parent_rate; in berlin2_avpll_channel_recalc_rate()
Dberlin2-div.c187 unsigned long parent_rate) in berlin2_div_recalc_rate() argument
219 return parent_rate / divider; in berlin2_div_recalc_rate()
/linux-4.1.27/drivers/gpu/drm/imx/
Dimx-tve.c403 unsigned long parent_rate) in clk_tve_di_recalc_rate() argument
415 return parent_rate / 4; in clk_tve_di_recalc_rate()
417 return parent_rate / 2; in clk_tve_di_recalc_rate()
420 return parent_rate; in clk_tve_di_recalc_rate()
440 unsigned long parent_rate) in clk_tve_di_set_rate() argument
447 div = parent_rate / rate; in clk_tve_di_set_rate()
/linux-4.1.27/drivers/clk/rockchip/
Dclk-mmc-phase.c32 unsigned long parent_rate) in rockchip_mmc_recalc() argument
34 return parent_rate / RK3288_MMC_CLKGEN_DIV; in rockchip_mmc_recalc()
Dclk-cpu.c89 unsigned long parent_rate) in rockchip_cpuclk_recalc_rate() argument
97 return parent_rate / (clksel0 + 1); in rockchip_cpuclk_recalc_rate()
/linux-4.1.27/drivers/clk/zynq/
Dpll.c84 unsigned long parent_rate) in zynq_pll_recalc_rate() argument
96 return parent_rate * fbdiv; in zynq_pll_recalc_rate()
/linux-4.1.27/drivers/clk/ux500/
Dclk-prcmu.c77 unsigned long parent_rate) in clk_prcmu_recalc_rate() argument
84 unsigned long *parent_rate) in clk_prcmu_round_rate() argument
91 unsigned long parent_rate) in clk_prcmu_set_rate() argument
Dclk-sysctrl.c59 unsigned long parent_rate) in clk_sysctrl_recalc_rate() argument
/linux-4.1.27/drivers/gpu/drm/msm/hdmi/
Dhdmi_phy_8960.c367 unsigned long parent_rate) in hdmi_pll_recalc_rate() argument
374 unsigned long *parent_rate) in hdmi_pll_round_rate() argument
381 unsigned long parent_rate) in hdmi_pll_set_rate() argument
/linux-4.1.27/arch/avr32/mach-at32ap/
Dat32ap700x.c372 unsigned long parent_rate, child_div, actual_rate, div; in cpu_clk_set_rate() local
374 parent_rate = clk->parent->get_rate(clk->parent); in cpu_clk_set_rate()
382 if (rate > 3 * (parent_rate / 4) || child_div == 1) { in cpu_clk_set_rate()
383 actual_rate = parent_rate; in cpu_clk_set_rate()
387 div = (parent_rate + rate / 2) / rate; in cpu_clk_set_rate()
392 actual_rate = parent_rate / (1 << (cpusel + 1)); in cpu_clk_set_rate()
540 unsigned long parent_rate, actual_rate, div; in genclk_set_rate() local
542 parent_rate = clk->parent->get_rate(clk->parent); in genclk_set_rate()
545 if (rate > 3 * parent_rate / 4) { in genclk_set_rate()
546 actual_rate = parent_rate; in genclk_set_rate()
[all …]
/linux-4.1.27/drivers/clk/hisilicon/
Dclk-hi3620.c279 unsigned long parent_rate) in mmc_clk_recalc_rate() argument
281 switch (parent_rate) { in mmc_clk_recalc_rate()
293 return parent_rate; in mmc_clk_recalc_rate()
420 unsigned long parent_rate) in mmc_clk_set_rate() argument
/linux-4.1.27/drivers/clk/keystone/
Dpll.c81 unsigned long parent_rate) in clk_pllclk_recalc() argument
85 unsigned long rate = parent_rate; in clk_pllclk_recalc()
/linux-4.1.27/arch/arm/mach-vexpress/
Dspc.c499 unsigned long parent_rate) in spc_recalc_rate() argument
511 unsigned long *parent_rate) in spc_round_rate() argument
519 unsigned long parent_rate) in spc_set_rate() argument
/linux-4.1.27/drivers/media/platform/omap3isp/
Disp.c219 unsigned long parent_rate) in isp_xclk_recalc_rate() argument
223 return parent_rate / xclk->divider; in isp_xclk_recalc_rate()
226 static u32 isp_xclk_calc_divider(unsigned long *rate, unsigned long parent_rate) in isp_xclk_calc_divider() argument
230 if (*rate >= parent_rate) { in isp_xclk_calc_divider()
231 *rate = parent_rate; in isp_xclk_calc_divider()
238 divider = DIV_ROUND_CLOSEST(parent_rate, *rate); in isp_xclk_calc_divider()
242 *rate = parent_rate / divider; in isp_xclk_calc_divider()
247 unsigned long *parent_rate) in isp_xclk_round_rate() argument
249 isp_xclk_calc_divider(&rate, *parent_rate); in isp_xclk_round_rate()
254 unsigned long parent_rate) in isp_xclk_set_rate() argument
[all …]
/linux-4.1.27/Documentation/
Dclk.txt70 unsigned long parent_rate);
73 unsigned long *parent_rate);
84 unsigned long parent_rate);
87 unsigned long parent_rate,
/linux-4.1.27/drivers/usb/phy/
Dphy-tegra-usb.c759 unsigned long parent_rate; in tegra_usb_phy_init() local
773 parent_rate = clk_get_rate(clk_get_parent(phy->pll_u)); in tegra_usb_phy_init()
775 if (tegra_freq_table[i].freq == parent_rate) { in tegra_usb_phy_init()
781 pr_err("invalid pll_u parent rate %ld\n", parent_rate); in tegra_usb_phy_init()
/linux-4.1.27/drivers/rtc/
Drtc-hym8563.c306 unsigned long parent_rate) in hym8563_clkout_recalc_rate() argument
332 unsigned long parent_rate) in hym8563_clkout_set_rate() argument
/linux-4.1.27/drivers/spi/
Dspi-sh-msiof.c255 unsigned long parent_rate, u32 spi_hz) in sh_msiof_spi_set_clk_regs() argument
261 if (!WARN_ON(!spi_hz || !parent_rate)) in sh_msiof_spi_set_clk_regs()
262 div = DIV_ROUND_UP(parent_rate, spi_hz); in sh_msiof_spi_set_clk_regs()