OSDN Git Service

clk: sunxi-ng: Use u64 for calculation of NM rate
authorJernej Skrabec <jernej.skrabec@siol.net>
Sun, 4 Nov 2018 18:26:40 +0000 (19:26 +0100)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Mon, 5 Nov 2018 09:21:29 +0000 (10:21 +0100)
commit65b6657672388b72822e0367f06d41c1e3ffb5bb
tree79983e7a741308f20ce22c74e5b5ea68ed8f8b1f
parent3f790433c3cb27ecaf2ca0e07ac25964e4fd9f15
clk: sunxi-ng: Use u64 for calculation of NM rate

Allwinner H6 SoC has multiplier N range between 1 and 254. Since parent
rate is 24MHz, intermediate result when calculating final rate easily
overflows 32 bit variable.

Because of that, introduce function for calculating clock rate which
uses 64 bit variable for intermediate result.

Fixes: 6174a1e24b0d ("clk: sunxi-ng: Add N-M-factor clock support")
Fixes: ee28648cb2b4 ("clk: sunxi-ng: Remove the use of rational computations")

CC: <stable@vger.kernel.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
drivers/clk/sunxi-ng/ccu_nm.c