Lines Matching full:mult

95 	unsigned int	mult;  member
132 * Both factors (mult and div) must fit in 32 bits. When an operation overflows,
135 * Precision loss depends on amplitude of mult and div. Worst theoretical
139 static void eqc_pll_downshift_factors(unsigned long *mult, unsigned long *div) in eqc_pll_downshift_factors() argument
144 /* This function can be removed if mult/div switch to unsigned long. */ in eqc_pll_downshift_factors()
145 static_assert(sizeof_field(struct clk_fixed_factor, mult) == sizeof(unsigned int)); in eqc_pll_downshift_factors()
149 if (*mult <= UINT_MAX && *div <= UINT_MAX) in eqc_pll_downshift_factors()
157 biggest = max(*mult, *div); in eqc_pll_downshift_factors()
160 *mult >>= shift; in eqc_pll_downshift_factors()
164 static int eqc_pll_parse_registers(u32 r0, u32 r1, unsigned long *mult, in eqc_pll_parse_registers() argument
170 *mult = 1; in eqc_pll_parse_registers()
179 *mult = FIELD_GET(PCSR0_INTIN, r0); in eqc_pll_parse_registers()
185 *mult = *mult * (1ULL << 20) + FIELD_GET(PCSR1_FRAC_IN, r1); in eqc_pll_parse_registers()
188 if (!*mult || !*div) in eqc_pll_parse_registers()
214 *mult *= 2048 - spread; in eqc_pll_parse_registers()
221 eqc_pll_downshift_factors(mult, div); in eqc_pll_parse_registers()
230 unsigned long mult, div, acc; in eqc_probe_init_plls() local
245 ret = eqc_pll_parse_registers(r0, r1, &mult, &div, &acc); in eqc_probe_init_plls()
253 dev->of_node, pll->name, "ref", 0, mult, div, acc); in eqc_probe_init_plls()
310 ff->parent, 0, ff->mult, ff->div); in eqc_probe_init_fixed_factors()
314 parent_hw, 0, ff->mult, ff->div); in eqc_probe_init_fixed_factors()
799 unsigned long mult, div, acc; in eqc_early_init() local
808 ret = eqc_pll_parse_registers(r0, r1, &mult, &div, &acc); in eqc_early_init()
815 np, pll->name, "ref", 0, mult, div, acc); in eqc_early_init()
830 parent_hw, 0, ff->mult, ff->div); in eqc_early_init()