Searched hist:"482 e75e7b3eba6730cbfaa1911916d13887c9606" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/media/i2c/ |
H A D | ccs-pll.c | diff 482e75e7b3eba6730cbfaa1911916d13887c9606 Tue Jul 07 03:31:56 CDT 2020 Sakari Ailus <sakari.ailus@linux.intel.com> media: ccs-pll: Avoid overflow in pre-PLL divisor lower bound search
The external clock frequency times the PLL multiplier may exceed the value range of 32-bit unsigned integers. Instead perform the same calculation y using two divisions.
The result has some potential to be different, but that's ok: this number is used to limit the range of pre-PLL divisors to find optimal values. So the effect of the rare case of a different result here would mean an invalid pre-PLL divisor is tried. That will be found out a little later in any case.
Also guard against dividing by zero if the external clock frequency is higher than the maximum OP PLL output clock --- a rather improbable case.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|