/kernel/linux/linux-5.10/drivers/clk/imx/ |
H A D | clk-pllv3.c | 111 unsigned long parent_rate) in clk_pllv3_recalc_rate() 116 return (div == 1) ? parent_rate * 22 : parent_rate * 20; in clk_pllv3_recalc_rate() 122 unsigned long parent_rate = *prate; in clk_pllv3_round_rate() local 124 return (rate >= parent_rate * 22) ? parent_rate * 22 : in clk_pllv3_round_rate() 125 parent_rate * 20; in clk_pllv3_round_rate() 129 unsigned long parent_rate) in clk_pllv3_set_rate() 134 if (rate == parent_rate * 22) in clk_pllv3_set_rate() 136 else if (rate == parent_rate * 2 in clk_pllv3_set_rate() 110 clk_pllv3_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_recalc_rate() argument 128 clk_pllv3_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_set_rate() argument 158 clk_pllv3_sys_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_sys_recalc_rate() argument 170 unsigned long parent_rate = *prate; clk_pllv3_sys_round_rate() local 184 clk_pllv3_sys_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_sys_set_rate() argument 213 clk_pllv3_av_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_av_recalc_rate() argument 231 unsigned long parent_rate = *prate; clk_pllv3_av_round_rate() local 260 clk_pllv3_av_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_av_set_rate() argument 308 clk_pllv3_vf610_mf_to_rate(unsigned long parent_rate, struct clk_pllv3_vf610_mf mf) clk_pllv3_vf610_mf_to_rate() argument 320 clk_pllv3_vf610_rate_to_mf( unsigned long parent_rate, unsigned long rate) clk_pllv3_vf610_rate_to_mf() argument 344 clk_pllv3_vf610_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_vf610_recalc_rate() argument 365 clk_pllv3_vf610_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_vf610_set_rate() argument 395 clk_pllv3_enet_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_enet_recalc_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/imx/ |
H A D | clk-pllv3.c | 112 unsigned long parent_rate) in clk_pllv3_recalc_rate() 117 return (div == 1) ? parent_rate * 22 : parent_rate * 20; in clk_pllv3_recalc_rate() 123 unsigned long parent_rate = *prate; in clk_pllv3_round_rate() local 125 return (rate >= parent_rate * 22) ? parent_rate * 22 : in clk_pllv3_round_rate() 126 parent_rate * 20; in clk_pllv3_round_rate() 130 unsigned long parent_rate) in clk_pllv3_set_rate() 135 if (rate == parent_rate * 22) in clk_pllv3_set_rate() 137 else if (rate == parent_rate * 2 in clk_pllv3_set_rate() 111 clk_pllv3_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_recalc_rate() argument 129 clk_pllv3_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_set_rate() argument 159 clk_pllv3_sys_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_sys_recalc_rate() argument 171 unsigned long parent_rate = *prate; clk_pllv3_sys_round_rate() local 185 clk_pllv3_sys_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_sys_set_rate() argument 214 clk_pllv3_av_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_av_recalc_rate() argument 232 unsigned long parent_rate = *prate; clk_pllv3_av_round_rate() local 261 clk_pllv3_av_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_av_set_rate() argument 309 clk_pllv3_vf610_mf_to_rate(unsigned long parent_rate, struct clk_pllv3_vf610_mf mf) clk_pllv3_vf610_mf_to_rate() argument 321 clk_pllv3_vf610_rate_to_mf( unsigned long parent_rate, unsigned long rate) clk_pllv3_vf610_rate_to_mf() argument 345 clk_pllv3_vf610_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_vf610_recalc_rate() argument 366 clk_pllv3_vf610_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv3_vf610_set_rate() argument 396 clk_pllv3_enet_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv3_enet_recalc_rate() argument [all...] |
H A D | clk-pllv4.c | 79 unsigned long parent_rate) in clk_pllv4_recalc_rate() 91 temp64 = parent_rate; in clk_pllv4_recalc_rate() 95 return (parent_rate * mult) + (u32)temp64; in clk_pllv4_recalc_rate() 102 unsigned long parent_rate = *prate; in clk_pllv4_round_rate() local 111 do_div(temp64, parent_rate); in clk_pllv4_round_rate() 115 round_rate = parent_rate * mult; in clk_pllv4_round_rate() 120 round_rate = parent_rate * pllv4_mult_table[i]; in clk_pllv4_round_rate() 130 clk_hw_get_name(hw), rate, parent_rate); in clk_pllv4_round_rate() 134 if (parent_rate <= MAX_MFD) in clk_pllv4_round_rate() 135 mfd = parent_rate; in clk_pllv4_round_rate() 78 clk_pllv4_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_pllv4_recalc_rate() argument 177 clk_pllv4_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_pllv4_set_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/meson/ |
H A D | clk-pll.c | 55 static unsigned long __pll_params_to_rate(unsigned long parent_rate, in __pll_params_to_rate() argument 60 u64 rate = (u64)parent_rate * m; in __pll_params_to_rate() 63 u64 frac_rate = (u64)parent_rate * frac; in __pll_params_to_rate() 73 unsigned long parent_rate) in meson_clk_pll_recalc_rate() 95 return __pll_params_to_rate(parent_rate, m, n, frac, pll); in meson_clk_pll_recalc_rate() 99 unsigned long parent_rate, in __pll_params_with_frac() 108 if (rate < parent_rate * m / n) in __pll_params_with_frac() 112 val = DIV_ROUND_CLOSEST_ULL(val * frac_max, parent_rate); in __pll_params_with_frac() 114 val = div_u64(val * frac_max, parent_rate); in __pll_params_with_frac() 154 unsigned long parent_rate, in meson_clk_get_pll_range_m() 72 meson_clk_pll_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) meson_clk_pll_recalc_rate() argument 98 __pll_params_with_frac(unsigned long rate, unsigned long parent_rate, unsigned int m, unsigned int n, struct meson_clk_pll_data *pll) __pll_params_with_frac() argument 153 meson_clk_get_pll_range_m(unsigned long rate, unsigned long parent_rate, unsigned int n, struct meson_clk_pll_data *pll) meson_clk_get_pll_range_m() argument 166 meson_clk_get_pll_range_index(unsigned long rate, unsigned long parent_rate, unsigned int index, unsigned int *m, unsigned int *n, struct meson_clk_pll_data *pll) meson_clk_get_pll_range_index() argument 199 meson_clk_get_pll_get_index(unsigned long rate, unsigned long parent_rate, unsigned int index, unsigned int *m, unsigned int *n, struct meson_clk_pll_data *pll) meson_clk_get_pll_get_index() argument 215 meson_clk_get_pll_settings(unsigned long rate, unsigned long parent_rate, unsigned int *best_m, unsigned int *best_n, struct meson_clk_pll_data *pll) meson_clk_get_pll_settings() argument 245 meson_clk_pll_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) meson_clk_pll_round_rate() argument 363 meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) meson_clk_pll_set_rate() argument [all...] |
H A D | clk-dualdiv.c | 37 __dualdiv_param_to_rate(unsigned long parent_rate, in __dualdiv_param_to_rate() argument 41 return DIV_ROUND_CLOSEST(parent_rate, p->n1); in __dualdiv_param_to_rate() 43 return DIV_ROUND_CLOSEST(parent_rate * (p->m1 + p->m2), in __dualdiv_param_to_rate() 48 unsigned long parent_rate) in meson_clk_dualdiv_recalc_rate() 60 return __dualdiv_param_to_rate(parent_rate, &setting); in meson_clk_dualdiv_recalc_rate() 64 __dualdiv_get_setting(unsigned long rate, unsigned long parent_rate, in __dualdiv_get_setting() argument 75 now = __dualdiv_param_to_rate(parent_rate, &table[i]); in __dualdiv_get_setting() 90 unsigned long *parent_rate) in meson_clk_dualdiv_round_rate() 95 __dualdiv_get_setting(rate, *parent_rate, dualdiv); in meson_clk_dualdiv_round_rate() 98 return meson_clk_dualdiv_recalc_rate(hw, *parent_rate); in meson_clk_dualdiv_round_rate() 47 meson_clk_dualdiv_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) meson_clk_dualdiv_recalc_rate() argument 89 meson_clk_dualdiv_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) meson_clk_dualdiv_round_rate() argument 103 meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) meson_clk_dualdiv_set_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/at91/ |
H A D | clk-h32mx.c | 29 unsigned long parent_rate) in clk_sama5d4_h32mx_recalc_rate() 36 return parent_rate / 2; in clk_sama5d4_h32mx_recalc_rate() 38 if (parent_rate > H32MX_MAX_FREQ) in clk_sama5d4_h32mx_recalc_rate() 40 return parent_rate; in clk_sama5d4_h32mx_recalc_rate() 44 unsigned long *parent_rate) in clk_sama5d4_h32mx_round_rate() 48 if (rate > *parent_rate) in clk_sama5d4_h32mx_round_rate() 49 return *parent_rate; in clk_sama5d4_h32mx_round_rate() 50 div = *parent_rate / 2; in clk_sama5d4_h32mx_round_rate() 54 if (rate - div < *parent_rate - rate) in clk_sama5d4_h32mx_round_rate() 57 return *parent_rate; in clk_sama5d4_h32mx_round_rate() 28 clk_sama5d4_h32mx_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_sama5d4_h32mx_recalc_rate() argument 43 clk_sama5d4_h32mx_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) clk_sama5d4_h32mx_round_rate() argument 60 clk_sama5d4_h32mx_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_sama5d4_h32mx_set_rate() argument [all...] |
H A D | clk-plldiv.c | 23 unsigned long parent_rate) in clk_plldiv_recalc_rate() 31 return parent_rate / 2; in clk_plldiv_recalc_rate() 33 return parent_rate; in clk_plldiv_recalc_rate() 37 unsigned long *parent_rate) in clk_plldiv_round_rate() 41 if (rate > *parent_rate) in clk_plldiv_round_rate() 42 return *parent_rate; in clk_plldiv_round_rate() 43 div = *parent_rate / 2; in clk_plldiv_round_rate() 47 if (rate - div < *parent_rate - rate) in clk_plldiv_round_rate() 50 return *parent_rate; in clk_plldiv_round_rate() 54 unsigned long parent_rate) in clk_plldiv_set_rate() 22 clk_plldiv_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_plldiv_recalc_rate() argument 36 clk_plldiv_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) clk_plldiv_round_rate() argument 53 clk_plldiv_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_plldiv_set_rate() argument [all...] |
H A D | clk-smd.c | 27 unsigned long parent_rate) in at91sam9x5_clk_smd_recalc_rate() 36 return parent_rate / (smddiv + 1); in at91sam9x5_clk_smd_recalc_rate() 40 unsigned long *parent_rate) in at91sam9x5_clk_smd_round_rate() 46 if (rate >= *parent_rate) in at91sam9x5_clk_smd_round_rate() 47 return *parent_rate; in at91sam9x5_clk_smd_round_rate() 49 div = *parent_rate / rate; in at91sam9x5_clk_smd_round_rate() 51 return *parent_rate / (SMD_MAX_DIV + 1); in at91sam9x5_clk_smd_round_rate() 53 bestrate = *parent_rate / div; in at91sam9x5_clk_smd_round_rate() 54 tmp = *parent_rate / (div + 1); in at91sam9x5_clk_smd_round_rate() 85 unsigned long parent_rate) in at91sam9x5_clk_smd_set_rate() 26 at91sam9x5_clk_smd_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) at91sam9x5_clk_smd_recalc_rate() argument 39 at91sam9x5_clk_smd_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) at91sam9x5_clk_smd_round_rate() argument 84 at91sam9x5_clk_smd_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) at91sam9x5_clk_smd_set_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/at91/ |
H A D | clk-h32mx.c | 29 unsigned long parent_rate) in clk_sama5d4_h32mx_recalc_rate() 36 return parent_rate / 2; in clk_sama5d4_h32mx_recalc_rate() 38 if (parent_rate > H32MX_MAX_FREQ) in clk_sama5d4_h32mx_recalc_rate() 40 return parent_rate; in clk_sama5d4_h32mx_recalc_rate() 44 unsigned long *parent_rate) in clk_sama5d4_h32mx_round_rate() 48 if (rate > *parent_rate) in clk_sama5d4_h32mx_round_rate() 49 return *parent_rate; in clk_sama5d4_h32mx_round_rate() 50 div = *parent_rate / 2; in clk_sama5d4_h32mx_round_rate() 54 if (rate - div < *parent_rate - rate) in clk_sama5d4_h32mx_round_rate() 57 return *parent_rate; in clk_sama5d4_h32mx_round_rate() 28 clk_sama5d4_h32mx_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_sama5d4_h32mx_recalc_rate() argument 43 clk_sama5d4_h32mx_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) clk_sama5d4_h32mx_round_rate() argument 60 clk_sama5d4_h32mx_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_sama5d4_h32mx_set_rate() argument [all...] |
H A D | clk-plldiv.c | 23 unsigned long parent_rate) in clk_plldiv_recalc_rate() 31 return parent_rate / 2; in clk_plldiv_recalc_rate() 33 return parent_rate; in clk_plldiv_recalc_rate() 37 unsigned long *parent_rate) in clk_plldiv_round_rate() 41 if (rate > *parent_rate) in clk_plldiv_round_rate() 42 return *parent_rate; in clk_plldiv_round_rate() 43 div = *parent_rate / 2; in clk_plldiv_round_rate() 47 if (rate - div < *parent_rate - rate) in clk_plldiv_round_rate() 50 return *parent_rate; in clk_plldiv_round_rate() 54 unsigned long parent_rate) in clk_plldiv_set_rate() 22 clk_plldiv_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_plldiv_recalc_rate() argument 36 clk_plldiv_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) clk_plldiv_round_rate() argument 53 clk_plldiv_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_plldiv_set_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/actions/ |
H A D | owl-factor.c | 45 unsigned long rate, unsigned long parent_rate) in _get_table_val() 52 calc_rate = parent_rate * clkt->mul; in _get_table_val() 72 unsigned long parent_rate, try_parent_rate, best = 0, cur_rate; in owl_clk_val_best() local 80 parent_rate = *best_parent_rate; in owl_clk_val_best() 81 bestval = _get_table_val(clkt, rate, parent_rate); in owl_clk_val_best() 101 parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), in owl_clk_val_best() 103 cur_rate = DIV_ROUND_UP(parent_rate, clkt->div) * clkt->mul; in owl_clk_val_best() 107 *best_parent_rate = parent_rate; in owl_clk_val_best() 123 unsigned long *parent_rate) in owl_factor_helper_round_rate() 128 val = owl_clk_val_best(factor_hw, &common->hw, rate, parent_rate); in owl_factor_helper_round_rate() 44 _get_table_val(const struct clk_factor_table *table, unsigned long rate, unsigned long parent_rate) _get_table_val() argument 120 owl_factor_helper_round_rate(struct owl_clk_common *common, const struct owl_factor_hw *factor_hw, unsigned long rate, unsigned long *parent_rate) owl_factor_helper_round_rate() argument 134 owl_factor_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_factor_round_rate() argument 144 owl_factor_helper_recalc_rate(struct owl_clk_common *common, const struct owl_factor_hw *factor_hw, unsigned long parent_rate) owl_factor_helper_recalc_rate() argument 174 owl_factor_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_factor_recalc_rate() argument 184 owl_factor_helper_set_rate(const struct owl_clk_common *common, const struct owl_factor_hw *factor_hw, unsigned long rate, unsigned long parent_rate) owl_factor_helper_set_rate() argument 206 owl_factor_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_factor_set_rate() argument [all...] |
H A D | owl-composite.c | 57 unsigned long *parent_rate) in owl_comp_div_round_rate() 62 rate, parent_rate); in owl_comp_div_round_rate() 66 unsigned long parent_rate) in owl_comp_div_recalc_rate() 71 parent_rate); in owl_comp_div_recalc_rate() 75 unsigned long parent_rate) in owl_comp_div_set_rate() 80 rate, parent_rate); in owl_comp_div_set_rate() 84 unsigned long *parent_rate) in owl_comp_fact_round_rate() 90 rate, parent_rate); in owl_comp_fact_round_rate() 94 unsigned long parent_rate) in owl_comp_fact_recalc_rate() 100 parent_rate); in owl_comp_fact_recalc_rate() 56 owl_comp_div_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_comp_div_round_rate() argument 65 owl_comp_div_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_comp_div_recalc_rate() argument 74 owl_comp_div_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_comp_div_set_rate() argument 83 owl_comp_fact_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_comp_fact_round_rate() argument 93 owl_comp_fact_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_comp_fact_recalc_rate() argument 103 owl_comp_fact_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_comp_fact_set_rate() argument 113 owl_comp_fix_fact_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_comp_fix_fact_round_rate() argument 122 owl_comp_fix_fact_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_comp_fix_fact_recalc_rate() argument 132 owl_comp_fix_fact_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_comp_fix_fact_set_rate() argument [all...] |
H A D | owl-divider.c | 19 unsigned long *parent_rate) in owl_divider_helper_round_rate() 21 return divider_round_rate(&common->hw, rate, parent_rate, in owl_divider_helper_round_rate() 27 unsigned long *parent_rate) in owl_divider_round_rate() 32 rate, parent_rate); in owl_divider_round_rate() 37 unsigned long parent_rate) in owl_divider_helper_recalc_rate() 46 return divider_recalc_rate(&common->hw, parent_rate, in owl_divider_helper_recalc_rate() 53 unsigned long parent_rate) in owl_divider_recalc_rate() 58 &div->div_hw, parent_rate); in owl_divider_recalc_rate() 64 unsigned long parent_rate) in owl_divider_helper_set_rate() 69 val = divider_get_val(rate, parent_rate, div_h in owl_divider_helper_set_rate() 16 owl_divider_helper_round_rate(struct owl_clk_common *common, const struct owl_divider_hw *div_hw, unsigned long rate, unsigned long *parent_rate) owl_divider_helper_round_rate() argument 26 owl_divider_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_divider_round_rate() argument 35 owl_divider_helper_recalc_rate(struct owl_clk_common *common, const struct owl_divider_hw *div_hw, unsigned long parent_rate) owl_divider_helper_recalc_rate() argument 52 owl_divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_divider_recalc_rate() argument 61 owl_divider_helper_set_rate(const struct owl_clk_common *common, const struct owl_divider_hw *div_hw, unsigned long rate, unsigned long parent_rate) owl_divider_helper_set_rate() argument 81 owl_divider_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_divider_set_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/actions/ |
H A D | owl-factor.c | 44 unsigned long rate, unsigned long parent_rate) in _get_table_val() 51 calc_rate = parent_rate * clkt->mul; in _get_table_val() 71 unsigned long parent_rate, try_parent_rate, best = 0, cur_rate; in owl_clk_val_best() local 79 parent_rate = *best_parent_rate; in owl_clk_val_best() 80 bestval = _get_table_val(clkt, rate, parent_rate); in owl_clk_val_best() 100 parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), in owl_clk_val_best() 102 cur_rate = DIV_ROUND_UP(parent_rate, clkt->div) * clkt->mul; in owl_clk_val_best() 106 *best_parent_rate = parent_rate; in owl_clk_val_best() 122 unsigned long *parent_rate) in owl_factor_helper_round_rate() 127 val = owl_clk_val_best(factor_hw, &common->hw, rate, parent_rate); in owl_factor_helper_round_rate() 43 _get_table_val(const struct clk_factor_table *table, unsigned long rate, unsigned long parent_rate) _get_table_val() argument 119 owl_factor_helper_round_rate(struct owl_clk_common *common, const struct owl_factor_hw *factor_hw, unsigned long rate, unsigned long *parent_rate) owl_factor_helper_round_rate() argument 133 owl_factor_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_factor_round_rate() argument 143 owl_factor_helper_recalc_rate(struct owl_clk_common *common, const struct owl_factor_hw *factor_hw, unsigned long parent_rate) owl_factor_helper_recalc_rate() argument 173 owl_factor_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_factor_recalc_rate() argument 183 owl_factor_helper_set_rate(const struct owl_clk_common *common, const struct owl_factor_hw *factor_hw, unsigned long rate, unsigned long parent_rate) owl_factor_helper_set_rate() argument 205 owl_factor_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_factor_set_rate() argument [all...] |
H A D | owl-divider.c | 19 unsigned long *parent_rate) in owl_divider_helper_round_rate() 21 return divider_round_rate(&common->hw, rate, parent_rate, in owl_divider_helper_round_rate() 27 unsigned long *parent_rate) in owl_divider_round_rate() 32 rate, parent_rate); in owl_divider_round_rate() 37 unsigned long parent_rate) in owl_divider_helper_recalc_rate() 46 return divider_recalc_rate(&common->hw, parent_rate, in owl_divider_helper_recalc_rate() 53 unsigned long parent_rate) in owl_divider_recalc_rate() 58 &div->div_hw, parent_rate); in owl_divider_recalc_rate() 64 unsigned long parent_rate) in owl_divider_helper_set_rate() 69 val = divider_get_val(rate, parent_rate, div_h in owl_divider_helper_set_rate() 16 owl_divider_helper_round_rate(struct owl_clk_common *common, const struct owl_divider_hw *div_hw, unsigned long rate, unsigned long *parent_rate) owl_divider_helper_round_rate() argument 26 owl_divider_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) owl_divider_round_rate() argument 35 owl_divider_helper_recalc_rate(struct owl_clk_common *common, const struct owl_divider_hw *div_hw, unsigned long parent_rate) owl_divider_helper_recalc_rate() argument 52 owl_divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) owl_divider_recalc_rate() argument 61 owl_divider_helper_set_rate(const struct owl_clk_common *common, const struct owl_divider_hw *div_hw, unsigned long rate, unsigned long parent_rate) owl_divider_helper_set_rate() argument 81 owl_divider_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) owl_divider_set_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/analogbits/ |
H A D | wrpll-cln28hpc.c | 173 * @parent_rate: PLL input refclk rate (pre-R-divider) 184 unsigned long parent_rate) in __wrpll_update_parent_rate() 188 if (parent_rate > MAX_INPUT_FREQ || parent_rate < MIN_POST_DIVR_FREQ) in __wrpll_update_parent_rate() 191 c->parent_rate = parent_rate; in __wrpll_update_parent_rate() 192 max_r_for_parent = div_u64(parent_rate, MIN_POST_DIVR_FREQ); in __wrpll_update_parent_rate() 195 c->init_r = DIV_ROUND_UP_ULL(parent_rate, MAX_POST_DIVR_FREQ); in __wrpll_update_parent_rate() 204 * @parent_rate: PLL input refclk rate (pre-R-divider) 222 unsigned long parent_rate) in wrpll_configure_for_rate() 183 __wrpll_update_parent_rate(struct wrpll_cfg *c, unsigned long parent_rate) __wrpll_update_parent_rate() argument 221 wrpll_configure_for_rate(struct wrpll_cfg *c, u32 target_rate, unsigned long parent_rate) wrpll_configure_for_rate() argument 330 wrpll_calc_output_rate(const struct wrpll_cfg *c, unsigned long parent_rate) wrpll_calc_output_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/analogbits/ |
H A D | wrpll-cln28hpc.c | 177 * @parent_rate: PLL input refclk rate (pre-R-divider) 188 unsigned long parent_rate) in __wrpll_update_parent_rate() 192 if (parent_rate > MAX_INPUT_FREQ || parent_rate < MIN_POST_DIVR_FREQ) in __wrpll_update_parent_rate() 195 c->parent_rate = parent_rate; in __wrpll_update_parent_rate() 196 max_r_for_parent = div_u64(parent_rate, MIN_POST_DIVR_FREQ); in __wrpll_update_parent_rate() 199 c->init_r = DIV_ROUND_UP_ULL(parent_rate, MAX_POST_DIVR_FREQ); in __wrpll_update_parent_rate() 208 * @parent_rate: PLL input refclk rate (pre-R-divider) 226 unsigned long parent_rate) in wrpll_configure_for_rate() 187 __wrpll_update_parent_rate(struct wrpll_cfg *c, unsigned long parent_rate) __wrpll_update_parent_rate() argument 225 wrpll_configure_for_rate(struct wrpll_cfg *c, u32 target_rate, unsigned long parent_rate) wrpll_configure_for_rate() argument 334 wrpll_calc_output_rate(const struct wrpll_cfg *c, unsigned long parent_rate) wrpll_calc_output_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/sprd/ |
H A D | div.c | 15 unsigned long *parent_rate) in sprd_div_helper_round_rate() 17 return divider_round_rate(&common->hw, rate, parent_rate, in sprd_div_helper_round_rate() 23 unsigned long *parent_rate) in sprd_div_round_rate() 28 rate, parent_rate); in sprd_div_round_rate() 33 unsigned long parent_rate) in sprd_div_helper_recalc_rate() 42 return divider_recalc_rate(&common->hw, parent_rate, val, NULL, 0, in sprd_div_helper_recalc_rate() 48 unsigned long parent_rate) in sprd_div_recalc_rate() 52 return sprd_div_helper_recalc_rate(&cd->common, &cd->div, parent_rate); in sprd_div_recalc_rate() 58 unsigned long parent_rate) in sprd_div_helper_set_rate() 63 val = divider_get_val(rate, parent_rate, NUL in sprd_div_helper_set_rate() 12 sprd_div_helper_round_rate(struct sprd_clk_common *common, const struct sprd_div_internal *div, unsigned long rate, unsigned long *parent_rate) sprd_div_helper_round_rate() argument 22 sprd_div_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) sprd_div_round_rate() argument 31 sprd_div_helper_recalc_rate(struct sprd_clk_common *common, const struct sprd_div_internal *div, unsigned long parent_rate) sprd_div_helper_recalc_rate() argument 47 sprd_div_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) sprd_div_recalc_rate() argument 55 sprd_div_helper_set_rate(const struct sprd_clk_common *common, const struct sprd_div_internal *div, unsigned long rate, unsigned long parent_rate) sprd_div_helper_set_rate() argument 77 sprd_div_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) sprd_div_set_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/nuvoton/ |
H A D | clk-ma35d1-pll.c | 82 unsigned long parent_rate) in ma35d1_calc_smic_pll_freq() 88 return parent_rate; in ma35d1_calc_smic_pll_freq() 94 pll_freq = (u64)parent_rate * n; in ma35d1_calc_smic_pll_freq() 99 static unsigned long ma35d1_calc_pll_freq(u8 mode, u32 *reg_ctl, unsigned long parent_rate) in ma35d1_calc_pll_freq() argument 105 return parent_rate; in ma35d1_calc_pll_freq() 112 pll_freq = (u64)parent_rate * n; in ma35d1_calc_pll_freq() 118 pll_freq = div_u64(parent_rate * n, 100 * m * p); in ma35d1_calc_pll_freq() 124 unsigned long parent_rate, u32 *reg_ctl, in ma35d1_pll_find_closest() 148 tmp = div_u64(parent_rate, m); in ma35d1_pll_find_closest() 153 fclk = div_u64(parent_rate * in ma35d1_pll_find_closest() 81 ma35d1_calc_smic_pll_freq(u32 pll0_ctl0, unsigned long parent_rate) ma35d1_calc_smic_pll_freq() argument 123 ma35d1_pll_find_closest(struct ma35d1_clk_pll *pll, unsigned long rate, unsigned long parent_rate, u32 *reg_ctl, unsigned long *freq) ma35d1_pll_find_closest() argument 185 ma35d1_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) ma35d1_clk_pll_set_rate() argument 221 ma35d1_clk_pll_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) ma35d1_clk_pll_recalc_rate() argument 247 ma35d1_clk_pll_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) ma35d1_clk_pll_round_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/ |
H A D | clk-loongson2.c | 84 unsigned long parent_rate) in loongson2_node_recalc_rate() 86 return loongson2_calc_pll_rate(0x0, parent_rate); in loongson2_node_recalc_rate() 94 unsigned long parent_rate) in loongson2_ddr_recalc_rate() 96 return loongson2_calc_pll_rate(0x10, parent_rate); in loongson2_ddr_recalc_rate() 104 unsigned long parent_rate) in loongson2_dc_recalc_rate() 106 return loongson2_calc_pll_rate(0x20, parent_rate); in loongson2_dc_recalc_rate() 114 unsigned long parent_rate) in loongson2_pix0_recalc_rate() 116 return loongson2_calc_pll_rate(0x30, parent_rate); in loongson2_pix0_recalc_rate() 124 unsigned long parent_rate) in loongson2_pix1_recalc_rate() 126 return loongson2_calc_pll_rate(0x40, parent_rate); in loongson2_pix1_recalc_rate() 83 loongson2_node_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_node_recalc_rate() argument 93 loongson2_ddr_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_ddr_recalc_rate() argument 103 loongson2_dc_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_dc_recalc_rate() argument 113 loongson2_pix0_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_pix0_recalc_rate() argument 123 loongson2_pix1_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_pix1_recalc_rate() argument 146 loongson2_boot_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_boot_recalc_rate() argument 158 loongson2_apb_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_apb_recalc_rate() argument 170 loongson2_usb_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_usb_recalc_rate() argument 182 loongson2_sata_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) loongson2_sata_recalc_rate() argument [all...] |
H A D | clk-multiplier.c | 33 unsigned long parent_rate) in __get_mult() 36 return DIV_ROUND_CLOSEST(rate, parent_rate); in __get_mult() 38 return rate / parent_rate; in __get_mult() 42 unsigned long parent_rate) in clk_multiplier_recalc_rate() 53 return parent_rate * val; in clk_multiplier_recalc_rate() 71 unsigned long parent_rate, current_rate, best_rate = ~0; in __bestmult() local 101 parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), in __bestmult() 103 current_rate = parent_rate * i; in __bestmult() 108 *best_parent_rate = parent_rate; in __bestmult() 116 unsigned long *parent_rate) in clk_multiplier_round_rate() 31 __get_mult(struct clk_multiplier *mult, unsigned long rate, unsigned long parent_rate) __get_mult() argument 41 clk_multiplier_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_multiplier_recalc_rate() argument 115 clk_multiplier_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) clk_multiplier_round_rate() argument 125 clk_multiplier_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_multiplier_set_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/microchip/ |
H A D | clk-core.c | 120 unsigned long parent_rate, in calc_best_divided_rate() 127 /* eq. clk_rate = parent_rate / divider. in calc_best_divided_rate() 131 div = parent_rate / rate; in calc_best_divided_rate() 135 divided_rate = parent_rate / div; in calc_best_divided_rate() 136 divided_rate_down = parent_rate / div_up; in calc_best_divided_rate() 151 unsigned long parent_rate) in pbclk_recalc_rate() 155 return parent_rate / pbclk_read_pbdiv(pb); in pbclk_recalc_rate() 159 unsigned long *parent_rate) in pbclk_round_rate() 161 return calc_best_divided_rate(rate, *parent_rate, in pbclk_round_rate() 166 unsigned long parent_rate) in pbclk_set_rate() 119 calc_best_divided_rate(unsigned long rate, unsigned long parent_rate, u32 divider_max, u32 divider_min) calc_best_divided_rate() argument 150 pbclk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) pbclk_recalc_rate() argument 158 pbclk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) pbclk_round_rate() argument 165 pbclk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) pbclk_set_rate() argument 294 roclk_calc_rate(unsigned long parent_rate, u32 rodiv, u32 rotrim) roclk_calc_rate() argument 317 roclk_calc_div_trim(unsigned long rate, unsigned long parent_rate, u32 *rodiv_p, u32 *rotrim_p) roclk_calc_div_trim() argument 358 roclk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) roclk_recalc_rate() argument 375 roclk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) roclk_round_rate() argument 392 unsigned long parent_rate, best_parent_rate = 0; roclk_determine_rate() local 475 roclk_set_rate_and_parent(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate, u8 index) roclk_set_rate_and_parent() argument 537 roclk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) roclk_set_rate() argument 598 spll_calc_mult_div(struct pic32_sys_pll *pll, unsigned long rate, unsigned long parent_rate, u32 *mult_p, u32 *odiv_p) spll_calc_mult_div() argument 644 spll_clk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) spll_clk_recalc_rate() argument 668 spll_clk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) spll_clk_round_rate() argument 676 spll_clk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) spll_clk_set_rate() argument 772 sclk_get_rate(struct clk_hw *hw, unsigned long parent_rate) sclk_get_rate() argument 783 sclk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) sclk_round_rate() argument 789 sclk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) sclk_set_rate() argument 997 sosc_clk_calc_rate(struct clk_hw *hw, unsigned long parent_rate) sosc_clk_calc_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/microchip/ |
H A D | clk-core.c | 120 unsigned long parent_rate, in calc_best_divided_rate() 127 /* eq. clk_rate = parent_rate / divider. in calc_best_divided_rate() 131 div = parent_rate / rate; in calc_best_divided_rate() 135 divided_rate = parent_rate / div; in calc_best_divided_rate() 136 divided_rate_down = parent_rate / div_up; in calc_best_divided_rate() 151 unsigned long parent_rate) in pbclk_recalc_rate() 155 return parent_rate / pbclk_read_pbdiv(pb); in pbclk_recalc_rate() 159 unsigned long *parent_rate) in pbclk_round_rate() 161 return calc_best_divided_rate(rate, *parent_rate, in pbclk_round_rate() 166 unsigned long parent_rate) in pbclk_set_rate() 119 calc_best_divided_rate(unsigned long rate, unsigned long parent_rate, u32 divider_max, u32 divider_min) calc_best_divided_rate() argument 150 pbclk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) pbclk_recalc_rate() argument 158 pbclk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) pbclk_round_rate() argument 165 pbclk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) pbclk_set_rate() argument 294 roclk_calc_rate(unsigned long parent_rate, u32 rodiv, u32 rotrim) roclk_calc_rate() argument 317 roclk_calc_div_trim(unsigned long rate, unsigned long parent_rate, u32 *rodiv_p, u32 *rotrim_p) roclk_calc_div_trim() argument 358 roclk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) roclk_recalc_rate() argument 375 roclk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) roclk_round_rate() argument 392 unsigned long parent_rate, best_parent_rate = 0; roclk_determine_rate() local 475 roclk_set_rate_and_parent(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate, u8 index) roclk_set_rate_and_parent() argument 537 roclk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) roclk_set_rate() argument 598 spll_calc_mult_div(struct pic32_sys_pll *pll, unsigned long rate, unsigned long parent_rate, u32 *mult_p, u32 *odiv_p) spll_calc_mult_div() argument 644 spll_clk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) spll_clk_recalc_rate() argument 668 spll_clk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) spll_clk_round_rate() argument 676 spll_clk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) spll_clk_set_rate() argument 772 sclk_get_rate(struct clk_hw *hw, unsigned long parent_rate) sclk_get_rate() argument 783 sclk_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) sclk_round_rate() argument 789 sclk_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) sclk_set_rate() argument 997 sosc_clk_calc_rate(struct clk_hw *hw, unsigned long parent_rate) sosc_clk_calc_rate() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/sprd/ |
H A D | div.c | 13 unsigned long *parent_rate) in sprd_div_round_rate() 17 return divider_round_rate(&cd->common.hw, rate, parent_rate, NULL, in sprd_div_round_rate() 23 unsigned long parent_rate) in sprd_div_helper_recalc_rate() 32 return divider_recalc_rate(&common->hw, parent_rate, val, NULL, 0, in sprd_div_helper_recalc_rate() 38 unsigned long parent_rate) in sprd_div_recalc_rate() 42 return sprd_div_helper_recalc_rate(&cd->common, &cd->div, parent_rate); in sprd_div_recalc_rate() 48 unsigned long parent_rate) in sprd_div_helper_set_rate() 53 val = divider_get_val(rate, parent_rate, NULL, in sprd_div_helper_set_rate() 68 unsigned long parent_rate) in sprd_div_set_rate() 73 rate, parent_rate); in sprd_div_set_rate() 12 sprd_div_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) sprd_div_round_rate() argument 21 sprd_div_helper_recalc_rate(struct sprd_clk_common *common, const struct sprd_div_internal *div, unsigned long parent_rate) sprd_div_helper_recalc_rate() argument 37 sprd_div_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) sprd_div_recalc_rate() argument 45 sprd_div_helper_set_rate(const struct sprd_clk_common *common, const struct sprd_div_internal *div, unsigned long rate, unsigned long parent_rate) sprd_div_helper_set_rate() argument 67 sprd_div_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) sprd_div_set_rate() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/ |
H A D | clk-multiplier.c | 33 unsigned long parent_rate) in __get_mult() 36 return DIV_ROUND_CLOSEST(rate, parent_rate); in __get_mult() 38 return rate / parent_rate; in __get_mult() 42 unsigned long parent_rate) in clk_multiplier_recalc_rate() 53 return parent_rate * val; in clk_multiplier_recalc_rate() 71 unsigned long parent_rate, current_rate, best_rate = ~0; in __bestmult() local 101 parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), in __bestmult() 103 current_rate = parent_rate * i; in __bestmult() 108 *best_parent_rate = parent_rate; in __bestmult() 116 unsigned long *parent_rate) in clk_multiplier_round_rate() 31 __get_mult(struct clk_multiplier *mult, unsigned long rate, unsigned long parent_rate) __get_mult() argument 41 clk_multiplier_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) clk_multiplier_recalc_rate() argument 115 clk_multiplier_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) clk_multiplier_round_rate() argument 125 clk_multiplier_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate) clk_multiplier_set_rate() argument [all...] |