linux/drivers/clk
Emil Lundmark 5c2f117a22 clk: imx: fix integer overflow in AV PLL round rate
Since 'parent_rate * mfn' may overflow 32 bits, the result should be
stored using 64 bits.

The problem was discovered when trying to set the rate of the audio PLL
(pll4_post_div) on an i.MX6Q. The desired rate was 196.608 MHz, but
the actual rate returned was 192.000570 MHz. The round rate function should
have been able to return 196.608 MHz, i.e., the desired rate.

Fixes: ba7f4f557e ("clk: imx: correct AV PLL rate formula")
Cc: Anson Huang <b20788@freescale.com>
Signed-off-by: Emil Lundmark <emil@limesaudio.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-11-01 17:07:54 -07:00
..
at91 clk: at91: Fix a return value in case of error 2016-10-20 16:37:56 -07:00
axis clk: axis: Use new macro CLK_OF_DECLARE_DRIVER 2016-08-12 18:00:37 -07:00
axs10x clk/axs10x: Add I2S PLL clock driver 2016-05-06 10:35:04 -07:00
bcm clk: bcm2835: Clamp the PLL's requested rate to the hardware limits. 2016-10-17 15:34:36 -07:00
berlin clk: berlin: Migrate to clk_hw based registration and OF APIs 2016-08-18 11:30:01 -07:00
h8300 clk: h8300: Migrate to clk_hw based registration APIs 2016-08-24 17:37:10 -07:00
hisilicon clk: hi6220: use CLK_OF_DECLARE_DRIVER for sysctrl and mediactrl clock init 2016-10-17 15:42:58 -07:00
imx clk: imx: fix integer overflow in AV PLL round rate 2016-11-01 17:07:54 -07:00
ingenic clk: ingenic: Allow divider value to be divided 2016-05-12 14:48:25 -07:00
keystone clk: keystone: fix a trivial typo 2015-10-19 15:29:09 -07:00
loongson1 CLK: Add Loongson1C clock support 2016-09-23 14:49:21 -07:00
mediatek clk: mediatek: Add hardware dependency 2016-10-17 15:22:26 -07:00
meson ARM: SoC: late DT updates for v4.9 2016-10-07 21:34:49 -07:00
microchip clk: microchip: Initialize SOSC clock rate for PIC32MZDA. 2016-08-24 16:05:24 -07:00
mmp clk: mmp: add missing header dependencies 2016-09-14 11:16:59 -07:00
mvebu clk: mvebu: armada-37xx-periph: Fix the clock gate flag 2016-10-17 15:35:10 -07:00
mxs clk: mxs: Remove CLK_IS_ROOT 2016-03-02 17:44:59 -08:00
nxp clk: nxp: clk-lpc32xx: Unmap region obtained by of_iomap 2016-09-21 13:46:21 -07:00
pistachio clk: pistachio: correct critical clock list 2015-08-26 11:34:43 -07:00
pxa The clk changes for this release cycle are mostly dominated by 2016-03-23 06:06:45 -07:00
qcom clk: Add USB3 PHY reset lines 2016-09-16 16:19:50 -07:00
renesas clk/Renesas-MSTP: Use kmalloc_array() in cpg_mstp_clocks_init() 2016-09-16 16:13:09 -07:00
rockchip The biggest addition is probably the special clock-type for ddr clock 2016-09-06 18:12:24 -07:00
samsung clk/samsung: Use CLK_OF_DECLARE_DRIVER initialization method for CLKOUT 2016-10-27 17:26:54 -07:00
sirf clk: sirf: Remove CLK_IS_ROOT 2016-04-15 16:50:04 -07:00
socfpga clk: socfpga: allow for multiple parents on Arria10 periph clocks 2016-02-22 14:17:37 -08:00
spear clk: spear: Remove CLK_IS_ROOT 2016-03-02 17:46:55 -08:00
st drivers: clk: st: Handle clk synchronous mode for video clocks 2016-09-16 16:01:41 -07:00
sunxi Merge branch 'clk-fixes' into clk-next 2016-09-08 12:57:10 -07:00
sunxi-ng clk: sunxi-ng: Fix reset offset for the A23 and A33 2016-09-20 17:04:31 -07:00
tegra clk: tegra: remove TEGRA_PLL_USE_LOCK for PLLD/PLLD2 2016-08-24 10:54:17 -07:00
ti ARM: DT updates for v4.8 2016-08-01 18:37:45 -04:00
uniphier clk: uniphier: rename MIO clock to SD clock for Pro5, PXs2, LD20 SoCs 2016-10-19 13:15:05 -07:00
ux500 ARM: ux500: use CLK_OF_DECLARE() 2016-07-12 11:24:07 +02:00
versatile clk: versatile/icst: support for AP baseboard clocks 2016-08-29 11:38:51 -07:00
x86 clk: x86: Remove clkdev.h and clk.h includes 2016-03-03 11:27:26 -08:00
zte clk: zx296718: register driver earlier with core_initcall 2016-09-23 14:42:13 -07:00
zynq clk: zynq: Remove CLK_IS_ROOT 2016-03-02 17:48:26 -08:00
clk-asm9260.c clk: asm9260: Migrate to clk_hw based registration and OF APIs 2016-08-24 16:08:33 -07:00
clk-axi-clkgen.c clk: axi-clkgen: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:10:31 -07:00
clk-axm5516.c clk: axm5516: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:11:07 -07:00
clk-cdce706.c clk: cdce: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:12:38 -07:00
clk-cdce925.c clk: cdce925: Migrate to clk_hw based OF and provider APIs 2016-08-24 17:18:13 -07:00
clk-clps711x.c clk: clps711x: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:19:26 -07:00
clk-composite.c Merge branch 'clk-hw-register' (early part) into clk-next 2016-04-21 14:47:18 -07:00
clk-conf.c clk: clk-conf: Fix error message when clock isn't found 2016-07-08 11:27:58 -07:00
clk-cs2000-cp.c clk: cs2000: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:20:31 -07:00
clk-devres.c
clk-divider.c clk: divider: Fix clk_divider_round_rate() to use clk_readl() 2016-08-12 17:33:09 -07:00
clk-efm32gg.c clk: efm32gg: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:21:48 -07:00
clk-fixed-factor.c clk: fixed-factor: Remove export symbol on setup function 2016-08-15 15:08:03 -07:00
clk-fixed-rate.c clk: fixed-rate: Remove export symbol on setup function 2016-08-15 15:08:06 -07:00
clk-fractional-divider.c clk: fractional-divider: Add hw based registration APIs 2016-04-19 16:56:28 -07:00
clk-gate.c clk: gate: Add hw based registration APIs 2016-04-19 16:55:01 -07:00
clk-gpio.c clk: gpio: Add hw based registration APIs 2016-04-19 16:56:28 -07:00
clk-highbank.c clk: highbank: Migrate to clk_hw based registration and OF APIs 2016-06-30 12:25:28 -07:00
clk-max77686.c clk: max77686: fix number of clocks setup for clk_hw based registration 2016-10-17 15:31:59 -07:00
clk-mb86s7x.c clk: mb86s7x: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:01 -07:00
clk-moxart.c clk: moxart: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:20 -07:00
clk-multiplier.c clk: multiplier: Prevent the multiplier from under / over flowing 2016-06-20 13:00:00 -07:00
clk-mux.c clk: mux: Add hw based registration APIs 2016-04-19 16:55:01 -07:00
clk-nomadik.c clk: nomadik: Migrate to clk_hw based OF and registration APIs 2016-06-30 12:25:53 -07:00
clk-nspire.c clk: nspire: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:21 -07:00
clk-oxnas.c clk: oxnas: make it explicitly non-modular 2016-07-06 15:20:33 -07:00
clk-palmas.c clk: palmas: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:23 -07:00
clk-pwm.c clk: pwm: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:27 -07:00
clk-qoriq.c clk: qoriq: fix a register offset error 2016-08-18 16:52:24 -07:00
clk-rk808.c clk: rk808: Pass the right pointer as the get_hw context 2016-09-09 11:07:07 -07:00
clk-s2mps11.c clk: s2mps11: Migrate to clk_hw based OF and registration APIs 2016-06-30 12:29:14 -07:00
clk-scpi.c clk: scpi: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:29:58 -07:00
clk-si514.c clk: si514: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:29:59 -07:00
clk-si570.c clk: si570: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:30:01 -07:00
clk-si5351.c clk: si5351: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:30:00 -07:00
clk-si5351.h
clk-stm32f4.c clk: stm32f4: fix error handling 2016-07-06 17:55:31 -07:00
clk-tango4.c clk: tango4: improve clkgen driver 2016-04-15 17:16:06 -07:00
clk-twl6040.c clk: twl6040: Migrate to clk_hw based registration APIs 2016-08-24 17:34:11 -07:00
clk-u300.c clk: u300: Migrate to clk_hw based registration APIs 2016-06-30 12:26:18 -07:00
clk-vt8500.c clk: vt8500: Migrate to clk_hw based registration APIs 2016-08-24 17:35:48 -07:00
clk-wm831x.c clk: wm831x: Migrate to clk_hw based registration APIs 2016-08-24 17:35:53 -07:00
clk-xgene.c clk: xgene: Don't call __pa on ioremaped address 2016-10-28 11:03:47 -07:00
clk.c clk: core: Force setting the phase delay when no change 2016-08-30 14:52:26 -07:00
clk.h
clkdev.c treewide: replace obsolete _refok by __ref 2016-08-02 17:31:41 -04:00
Kconfig clk: uniphier: add core support code for UniPhier clock driver 2016-09-16 16:31:33 -07:00
Makefile clk: Loongson1: Refactor Loongson1 clock 2016-09-23 14:48:56 -07:00