| /kernel/linux/linux-5.10/drivers/clk/ |
| D | clk-multiplier.c | 15 static inline u32 clk_mult_readl(struct clk_multiplier *mult) in clk_mult_readl() argument 17 if (mult->flags & CLK_MULTIPLIER_BIG_ENDIAN) in clk_mult_readl() 18 return ioread32be(mult->reg); in clk_mult_readl() 20 return readl(mult->reg); in clk_mult_readl() 23 static inline void clk_mult_writel(struct clk_multiplier *mult, u32 val) in clk_mult_writel() argument 25 if (mult->flags & CLK_MULTIPLIER_BIG_ENDIAN) in clk_mult_writel() 26 iowrite32be(val, mult->reg); in clk_mult_writel() 28 writel(val, mult->reg); in clk_mult_writel() 31 static unsigned long __get_mult(struct clk_multiplier *mult, in __get_mult() argument 35 if (mult->flags & CLK_MULTIPLIER_ROUND_CLOSEST) in __get_mult() [all …]
|
| D | clk-fixed-factor.c | 18 * rate - rate is fixed. clk->rate = parent->rate / div * mult 28 rate = (unsigned long long int)parent_rate * fix->mult; in clk_factor_recalc_rate() 41 best_parent = (rate / fix->mult) * fix->div; in clk_factor_round_rate() 45 return (*prate / fix->div) * fix->mult; in clk_factor_round_rate() 70 unsigned long flags, unsigned int mult, unsigned int div) in __clk_hw_register_fixed_factor() argument 83 fix->mult = mult; in __clk_hw_register_fixed_factor() 111 unsigned int mult, unsigned int div) in clk_hw_register_fixed_factor() argument 114 flags, mult, div); in clk_hw_register_fixed_factor() 120 unsigned int mult, unsigned int div) in clk_register_fixed_factor() argument 124 hw = clk_hw_register_fixed_factor(dev, name, parent_name, flags, mult, in clk_register_fixed_factor() [all …]
|
| /kernel/linux/linux-4.19/drivers/clk/ |
| D | clk-multiplier.c | 17 static unsigned long __get_mult(struct clk_multiplier *mult, in __get_mult() argument 21 if (mult->flags & CLK_MULTIPLIER_ROUND_CLOSEST) in __get_mult() 30 struct clk_multiplier *mult = to_clk_multiplier(hw); in clk_multiplier_recalc_rate() local 33 val = clk_readl(mult->reg) >> mult->shift; in clk_multiplier_recalc_rate() 34 val &= GENMASK(mult->width - 1, 0); in clk_multiplier_recalc_rate() 36 if (!val && mult->flags & CLK_MULTIPLIER_ZERO_BYPASS) in clk_multiplier_recalc_rate() 55 struct clk_multiplier *mult = to_clk_multiplier(hw); in __bestmult() local 66 !(mult->flags & CLK_MULTIPLIER_ZERO_BYPASS)) in __bestmult() 104 struct clk_multiplier *mult = to_clk_multiplier(hw); in clk_multiplier_round_rate() local 106 mult->width, mult->flags); in clk_multiplier_round_rate() [all …]
|
| D | clk-fixed-factor.c | 23 * rate - rate is fixed. clk->rate = parent->rate / div * mult 33 rate = (unsigned long long int)parent_rate * fix->mult; in clk_factor_recalc_rate() 46 best_parent = (rate / fix->mult) * fix->div; in clk_factor_round_rate() 50 return (*prate / fix->div) * fix->mult; in clk_factor_round_rate() 74 unsigned int mult, unsigned int div) in clk_hw_register_fixed_factor() argument 86 fix->mult = mult; in clk_hw_register_fixed_factor() 109 unsigned int mult, unsigned int div) in clk_register_fixed_factor() argument 113 hw = clk_hw_register_fixed_factor(dev, name, parent_name, flags, mult, in clk_register_fixed_factor() 157 u32 div, mult; in _of_fixed_factor_clk_setup() local 166 if (of_property_read_u32(node, "clock-mult", &mult)) { in _of_fixed_factor_clk_setup() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/sunxi-ng/ |
| D | ccu_mult.c | 14 unsigned long mult, min, max; member 18 struct _ccu_mult *mult) in ccu_mult_find_best() argument 23 if (_mult < mult->min) in ccu_mult_find_best() 24 _mult = mult->min; in ccu_mult_find_best() 26 if (_mult > mult->max) in ccu_mult_find_best() 27 _mult = mult->max; in ccu_mult_find_best() 29 mult->mult = _mult; in ccu_mult_find_best() 41 _cm.min = cm->mult.min; in ccu_mult_round_rate() 43 if (cm->mult.max) in ccu_mult_round_rate() 44 _cm.max = cm->mult.max; in ccu_mult_round_rate() [all …]
|
| /kernel/linux/linux-4.19/drivers/clk/sunxi-ng/ |
| D | ccu_mult.c | 17 unsigned long mult, min, max; member 21 struct _ccu_mult *mult) in ccu_mult_find_best() argument 26 if (_mult < mult->min) in ccu_mult_find_best() 27 _mult = mult->min; in ccu_mult_find_best() 29 if (_mult > mult->max) in ccu_mult_find_best() 30 _mult = mult->max; in ccu_mult_find_best() 32 mult->mult = _mult; in ccu_mult_find_best() 44 _cm.min = cm->mult.min; in ccu_mult_round_rate() 46 if (cm->mult.max) in ccu_mult_round_rate() 47 _cm.max = cm->mult.max; in ccu_mult_round_rate() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/sunxi/ |
| D | clk-sun4i-pll3.c | 24 struct clk_multiplier *mult; in sun4i_a10_pll3_setup() local 48 mult = kzalloc(sizeof(*mult), GFP_KERNEL); in sun4i_a10_pll3_setup() 49 if (!mult) in sun4i_a10_pll3_setup() 52 mult->reg = reg; in sun4i_a10_pll3_setup() 53 mult->shift = SUN4I_A10_PLL3_DIV_SHIFT; in sun4i_a10_pll3_setup() 54 mult->width = SUN4I_A10_PLL3_DIV_WIDTH; in sun4i_a10_pll3_setup() 55 mult->lock = &sun4i_a10_pll3_lock; in sun4i_a10_pll3_setup() 60 &mult->hw, &clk_multiplier_ops, in sun4i_a10_pll3_setup() 80 kfree(mult); in sun4i_a10_pll3_setup()
|
| D | clk-a10-pll2.c | 44 struct clk_multiplier *mult; in sun4i_pll2_setup() local 83 mult = kzalloc(sizeof(struct clk_multiplier), GFP_KERNEL); in sun4i_pll2_setup() 84 if (!mult) in sun4i_pll2_setup() 87 mult->reg = reg; in sun4i_pll2_setup() 88 mult->shift = SUN4I_PLL2_N_SHIFT; in sun4i_pll2_setup() 89 mult->width = 7; in sun4i_pll2_setup() 90 mult->flags = CLK_MULTIPLIER_ZERO_BYPASS | in sun4i_pll2_setup() 92 mult->lock = &sun4i_a10_pll2_lock; in sun4i_pll2_setup() 98 &mult->hw, &clk_multiplier_ops, in sun4i_pll2_setup() 168 kfree(mult); in sun4i_pll2_setup()
|
| /kernel/linux/linux-5.10/drivers/clk/renesas/ |
| D | rcar-gen2-cpg.c | 41 * rate - rate is adjustable. clk->rate = parent->rate * mult / 32 57 unsigned int mult; in cpg_z_clk_recalc_rate() local 61 mult = 32 - val; in cpg_z_clk_recalc_rate() 63 return div_u64((u64)parent_rate * mult, 32); in cpg_z_clk_recalc_rate() 70 unsigned int min_mult, max_mult, mult; in cpg_z_clk_determine_rate() local 77 mult = div64_ul(req->rate * 32ULL, prate); in cpg_z_clk_determine_rate() 78 mult = clamp(mult, min_mult, max_mult); in cpg_z_clk_determine_rate() 80 req->rate = div_u64((u64)prate * mult, 32); in cpg_z_clk_determine_rate() 88 unsigned int mult; in cpg_z_clk_set_rate() local 92 mult = div64_ul(rate * 32ULL, parent_rate); in cpg_z_clk_set_rate() [all …]
|
| D | rcar-gen3-cpg.c | 86 * rate - rate is adjustable. clk->rate = (parent->rate * mult / 32 ) / 2 107 unsigned int mult; in cpg_z_clk_recalc_rate() local 111 mult = 32 - (val >> __ffs(zclk->mask)); in cpg_z_clk_recalc_rate() 113 return DIV_ROUND_CLOSEST_ULL((u64)parent_rate * mult, in cpg_z_clk_recalc_rate() 121 unsigned int min_mult, max_mult, mult; in cpg_z_clk_determine_rate() local 130 mult = div64_ul(req->rate * 32ULL, prate); in cpg_z_clk_determine_rate() 131 mult = clamp(mult, min_mult, max_mult); in cpg_z_clk_determine_rate() 133 req->rate = div_u64((u64)prate * mult, 32); in cpg_z_clk_determine_rate() 141 unsigned int mult; in cpg_z_clk_set_rate() local 144 mult = DIV64_U64_ROUND_CLOSEST(rate * 32ULL * zclk->fixed_div, in cpg_z_clk_set_rate() [all …]
|
| /kernel/linux/linux-4.19/drivers/clk/renesas/ |
| D | rcar-gen2-cpg.c | 44 * rate - rate is adjustable. clk->rate = parent->rate * mult / 32 60 unsigned int mult; in cpg_z_clk_recalc_rate() local 64 mult = 32 - val; in cpg_z_clk_recalc_rate() 66 return div_u64((u64)parent_rate * mult, 32); in cpg_z_clk_recalc_rate() 73 unsigned int mult; in cpg_z_clk_round_rate() local 78 mult = div_u64((u64)rate * 32, prate); in cpg_z_clk_round_rate() 79 mult = clamp(mult, 1U, 32U); in cpg_z_clk_round_rate() 81 return *parent_rate / 32 * mult; in cpg_z_clk_round_rate() 88 unsigned int mult; in cpg_z_clk_set_rate() local 92 mult = div_u64((u64)rate * 32, parent_rate); in cpg_z_clk_set_rate() [all …]
|
| D | rcar-gen3-cpg.c | 71 * rate - rate is adjustable. clk->rate = (parent->rate * mult / 32 ) / 2 93 unsigned int mult; in cpg_z_clk_recalc_rate() local 97 mult = 32 - (val >> __ffs(zclk->mask)); in cpg_z_clk_recalc_rate() 100 return DIV_ROUND_CLOSEST_ULL((u64)parent_rate * mult, 32 * 2); in cpg_z_clk_recalc_rate() 108 unsigned int mult; in cpg_z_clk_round_rate() local 110 mult = div_u64(rate * 32ULL, prate); in cpg_z_clk_round_rate() 111 mult = clamp(mult, 1U, 32U); in cpg_z_clk_round_rate() 113 return (u64)prate * mult / 32; in cpg_z_clk_round_rate() 120 unsigned int mult; in cpg_z_clk_set_rate() local 125 mult = DIV_ROUND_CLOSEST_ULL(rate * 32ULL * 2, parent_rate); in cpg_z_clk_set_rate() [all …]
|
| D | clk-rcar-gen2.c | 46 * rate - rate is adjustable. clk->rate = parent->rate * mult / 32 62 unsigned int mult; in cpg_z_clk_recalc_rate() local 66 mult = 32 - val; in cpg_z_clk_recalc_rate() 68 return div_u64((u64)parent_rate * mult, 32); in cpg_z_clk_recalc_rate() 75 unsigned int mult; in cpg_z_clk_round_rate() local 80 mult = div_u64((u64)rate * 32, prate); in cpg_z_clk_round_rate() 81 mult = clamp(mult, 1U, 32U); in cpg_z_clk_round_rate() 83 return *parent_rate / 32 * mult; in cpg_z_clk_round_rate() 90 unsigned int mult; in cpg_z_clk_set_rate() local 94 mult = div_u64((u64)rate * 32, parent_rate); in cpg_z_clk_set_rate() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/imx/ |
| D | clk-pllv4.c | 43 /* Valid PLL MULT Table */ 72 u32 mult, mfn, mfd; in clk_pllv4_recalc_rate() local 75 mult = readl_relaxed(pll->base + PLL_CFG_OFFSET); in clk_pllv4_recalc_rate() 76 mult &= BM_PLL_MULT; in clk_pllv4_recalc_rate() 77 mult >>= BP_PLL_MULT; in clk_pllv4_recalc_rate() 85 return (parent_rate * mult) + (u32)temp64; in clk_pllv4_recalc_rate() 135 static bool clk_pllv4_is_valid_mult(unsigned int mult) in clk_pllv4_is_valid_mult() argument 139 /* check if mult is in valid MULT table */ in clk_pllv4_is_valid_mult() 141 if (pllv4_mult_table[i] == mult) in clk_pllv4_is_valid_mult() 152 u32 val, mult, mfn, mfd = DEFAULT_MFD; in clk_pllv4_set_rate() local [all …]
|
| /kernel/linux/linux-4.19/drivers/clk/sunxi/ |
| D | clk-sun4i-pll3.c | 32 struct clk_multiplier *mult; in sun4i_a10_pll3_setup() local 56 mult = kzalloc(sizeof(*mult), GFP_KERNEL); in sun4i_a10_pll3_setup() 57 if (!mult) in sun4i_a10_pll3_setup() 60 mult->reg = reg; in sun4i_a10_pll3_setup() 61 mult->shift = SUN4I_A10_PLL3_DIV_SHIFT; in sun4i_a10_pll3_setup() 62 mult->width = SUN4I_A10_PLL3_DIV_WIDTH; in sun4i_a10_pll3_setup() 63 mult->lock = &sun4i_a10_pll3_lock; in sun4i_a10_pll3_setup() 68 &mult->hw, &clk_multiplier_ops, in sun4i_a10_pll3_setup() 88 kfree(mult); in sun4i_a10_pll3_setup()
|
| D | clk-a10-pll2.c | 52 struct clk_multiplier *mult; in sun4i_pll2_setup() local 91 mult = kzalloc(sizeof(struct clk_multiplier), GFP_KERNEL); in sun4i_pll2_setup() 92 if (!mult) in sun4i_pll2_setup() 95 mult->reg = reg; in sun4i_pll2_setup() 96 mult->shift = SUN4I_PLL2_N_SHIFT; in sun4i_pll2_setup() 97 mult->width = 7; in sun4i_pll2_setup() 98 mult->flags = CLK_MULTIPLIER_ZERO_BYPASS | in sun4i_pll2_setup() 100 mult->lock = &sun4i_a10_pll2_lock; in sun4i_pll2_setup() 106 &mult->hw, &clk_multiplier_ops, in sun4i_pll2_setup() 176 kfree(mult); in sun4i_pll2_setup()
|
| /kernel/linux/linux-5.10/drivers/clk/mvebu/ |
| D | orion.c | 60 int *mult, int *div) in mv88f5181_get_clk_ratio() argument 65 *mult = 1; in mv88f5181_get_clk_ratio() 68 *mult = 1; in mv88f5181_get_clk_ratio() 71 *mult = 0; in mv88f5181_get_clk_ratio() 128 int *mult, int *div) in mv88f5182_get_clk_ratio() argument 133 *mult = 1; in mv88f5182_get_clk_ratio() 136 *mult = 1; in mv88f5182_get_clk_ratio() 139 *mult = 0; in mv88f5182_get_clk_ratio() 185 int *mult, int *div) in mv88f5281_get_clk_ratio() argument 190 *mult = 1; in mv88f5281_get_clk_ratio() [all …]
|
| /kernel/linux/linux-4.19/drivers/clk/mvebu/ |
| D | orion.c | 62 int *mult, int *div) in mv88f5181_get_clk_ratio() argument 67 *mult = 1; in mv88f5181_get_clk_ratio() 70 *mult = 1; in mv88f5181_get_clk_ratio() 73 *mult = 0; in mv88f5181_get_clk_ratio() 130 int *mult, int *div) in mv88f5182_get_clk_ratio() argument 135 *mult = 1; in mv88f5182_get_clk_ratio() 138 *mult = 1; in mv88f5182_get_clk_ratio() 141 *mult = 0; in mv88f5182_get_clk_ratio() 187 int *mult, int *div) in mv88f5281_get_clk_ratio() argument 192 *mult = 1; in mv88f5281_get_clk_ratio() [all …]
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | clocksource.h | 57 * @mult: cycle to nanosecond multiplier 60 * @maxadj: maximum adjustment value to mult (~11%) 83 u32 mult; member 130 * mult/2^shift = ns/cyc in clocksource_freq2mult() 131 * mult = ns/cyc * 2^shift in clocksource_freq2mult() 132 * mult = from/freq * 2^shift in clocksource_freq2mult() 133 * mult = from * 2^shift / freq in clocksource_freq2mult() 134 * mult = (from<<shift) / freq in clocksource_freq2mult() 145 * clocksource_khz2mult - calculates mult from khz and shift 158 * clocksource_hz2mult - calculates mult from hz and shift [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | clocksource.h | 41 * @mult: Cycle to nanosecond multiplier 44 * @maxadj: Maximum adjustment value to mult (~11%) 92 u32 mult; member 141 * mult/2^shift = ns/cyc in clocksource_freq2mult() 142 * mult = ns/cyc * 2^shift in clocksource_freq2mult() 143 * mult = from/freq * 2^shift in clocksource_freq2mult() 144 * mult = from * 2^shift / freq in clocksource_freq2mult() 145 * mult = (from<<shift) / freq in clocksource_freq2mult() 156 * clocksource_khz2mult - calculates mult from khz and shift 169 * clocksource_hz2mult - calculates mult from hz and shift [all …]
|
| /kernel/linux/linux-4.19/arch/arm/boot/dts/ |
| D | am33xx-clocks.dtsi | 23 clock-mult = <1>; 31 clock-mult = <1>; 39 clock-mult = <1>; 47 clock-mult = <1>; 55 clock-mult = <1>; 63 clock-mult = <1>; 71 clock-mult = <1>; 79 clock-mult = <1>; 87 clock-mult = <1>; 95 clock-mult = <1>; [all …]
|
| D | omap36xx-omap3430es2plus-clocks.dtsi | 38 clock-mult = <1>; 54 clock-mult = <1>; 78 clock-mult = <1>; 86 clock-mult = <1>; 94 clock-mult = <1>; 102 clock-mult = <1>; 110 clock-mult = <1>; 118 clock-mult = <1>; 126 clock-mult = <1>; 134 clock-mult = <1>; [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | omap36xx-omap3430es2plus-clocks.dtsi | 35 clock-mult = <1>; 51 clock-mult = <1>; 75 clock-mult = <1>; 83 clock-mult = <1>; 91 clock-mult = <1>; 99 clock-mult = <1>; 107 clock-mult = <1>; 115 clock-mult = <1>; 123 clock-mult = <1>; 131 clock-mult = <1>; [all …]
|
| D | am33xx-clocks.dtsi | 20 clock-mult = <1>; 28 clock-mult = <1>; 36 clock-mult = <1>; 44 clock-mult = <1>; 52 clock-mult = <1>; 60 clock-mult = <1>; 68 clock-mult = <1>; 76 clock-mult = <1>; 84 clock-mult = <1>; 92 clock-mult = <1>; [all …]
|
| /kernel/linux/linux-5.10/sound/core/ |
| D | pcm_timer.c | 21 unsigned long rate, mult, fsize, l, post; in snd_pcm_timer_resolution_change() local 24 mult = 1000000000; in snd_pcm_timer_resolution_change() 28 l = gcd(mult, rate); in snd_pcm_timer_resolution_change() 29 mult /= l; in snd_pcm_timer_resolution_change() 38 while ((mult * fsize) / fsize != mult) { in snd_pcm_timer_resolution_change() 39 mult /= 2; in snd_pcm_timer_resolution_change() 49 runtime->timer_resolution = (mult * fsize / rate) * post; in snd_pcm_timer_resolution_change()
|