android_kernel_motorola_sm6225/drivers/clk
AngeloGioacchino Del Regno eb6711d1ca clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs
[ Upstream commit 292f75ecff07e8a07fe2e3e19b4b567d0b698842 ]

All of the GPLLs in the MSM8998 Global Clock Controller are Fabia PLLs
and not generic alphas: this was producing bad effects over the entire
clock tree of MSM8998, where any GPLL child clock was declaring a false
clock rate, due to their parent also showing the same.

The issue resides in the calculation of the clock rate for the specific
Alpha PLL type, where Fabia has a different register layout; switching
the MSM8998 GPLLs to the correct Alpha Fabia PLL type fixes the rate
(calculation) reading. While at it, also make these PLLs fixed since
their rate is supposed to *never* be changed while the system runs, as
this would surely crash the entire SoC.

Now all the children of all the PLLs are also complying with their
specified clock table and system stability is improved.

Fixes: b5f5f525c5 ("clk: qcom: Add MSM8998 Global Clock Control (GCC) driver")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210114221059.483390-7-angelogioacchino.delregno@somainline.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-04 09:39:47 +01:00
..
actions clk: actions: Fix factor clk struct member access 2020-01-27 14:51:14 +01:00
at91 clk: at91: clk-main: update key before writing AT91_CKGR_MOR 2020-10-30 10:38:22 +01:00
axis
axs10x
bcm clk: bcm2835: add missing release if devm_clk_hw_register fails 2020-10-30 10:38:22 +01:00
berlin This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
davinci clk: davinci: Use the correct size when allocating memory 2020-09-23 12:10:59 +02:00
h8300
hisilicon clk: hi3660: Mark clk_gate_ufs_subsys as critical 2019-05-25 18:23:28 +02:00
imgtec clk: boston: unregister clks on failure in clk_boston_setup() 2019-11-06 13:05:26 +01:00
imx clk: vf610: fix refcount leak in vf610_clocks_init() 2020-01-27 14:50:09 +01:00
ingenic clk: ingenic/jz4770: Exit with error if CGU init failed 2020-04-17 10:48:52 +02:00
keystone clk: keystone: Enable TISCI clocks if K3_ARCH 2019-11-24 08:19:48 +01:00
loongson1
mediatek clk: mediatek: Drop more __init markings for driver probe 2019-12-13 08:52:16 +01:00
meson clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL 2021-03-04 09:39:42 +01:00
microchip
mmp clk: mmp2: Fix the order of timer mux parents 2020-02-05 14:43:43 +00:00
mvebu clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 2020-12-30 11:26:16 +01:00
mxs
nxp clk: lpc32xx: Set name of regmap_config 2018-03-19 14:35:16 -07:00
pistachio
pxa clk: pxa: fix one of the pxa RTC clocks 2020-01-04 19:12:57 +01:00
qcom clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs 2021-03-04 09:39:47 +01:00
renesas clk: renesas: r9a06g032: Drop __packed for portability 2020-12-30 11:25:44 +01:00
rockchip clk: rockchip: Initialize hw to error to avoid undefined behavior 2020-10-30 10:38:22 +01:00
samsung clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED 2020-10-07 08:00:07 +02:00
sirf clk: clk-atlas6: fix return value check in atlas6_clk_init() 2020-08-21 11:05:36 +02:00
socfpga clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk 2020-10-07 08:00:05 +02:00
spear clk: spear: fix WDT clock definition on SPEAr600 2018-04-06 13:45:34 -07:00
sprd clk: sprd: return correct type of value for _sprd_pll_recalc_rate 2020-06-25 15:33:00 +02:00
st clk: clk-flexgen: fix clock-critical handling 2020-06-25 15:32:50 +02:00
sunxi clk: sunxi: Fix incorrect usage of round_down() 2020-06-25 15:32:47 +02:00
sunxi-ng clk: sunxi-ng: h6: Fix clock divider range on some clocks 2021-03-04 09:39:44 +01:00
tegra clk: tegra30: Add hda clock default rates to clock driver 2021-01-27 11:05:37 +01:00
ti clk: ti: Fix memleak in ti_fapll_synth_setup 2020-12-30 11:26:05 +01:00
uniphier clk: uniphier: Add SCSSI clock gate for each channel 2020-02-24 08:34:45 +01:00
ux500 clk: ux500: Drop AB8540/9540 support 2018-03-23 09:36:11 -07:00
versatile clk: versatile: Remove WARNs in ->round_rate() 2018-03-16 15:31:16 -07:00
x86 clk: x86: Add system specific quirk to mark clocks as critical 2019-05-08 07:21:54 +02:00
zte clk: zx296718: Don't reference clk_init_data after registration 2019-10-07 18:56:46 +02:00
zynq
clk-asm9260.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-aspeed.c The new and exciting feature this time around is in the clk core. 2018-08-15 21:41:21 -07:00
clk-axi-clkgen.c
clk-axm5516.c
clk-bulk.c clk: bulk: silently error out on EPROBE_DEFER 2018-05-15 15:16:13 -07:00
clk-cdce706.c
clk-cdce925.c
clk-clps711x.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-composite.c
clk-conf.c
clk-cs2000-cp.c clk: cs2000-cp: convert to SPDX identifiers 2018-08-02 13:55:00 -07:00
clk-devres.c
clk-divider.c
clk-efm32gg.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-fixed-factor.c clk: fixed-factor: fix of_node_get-put imbalance 2018-11-27 16:13:04 +01:00
clk-fixed-rate.c clk: fixed-rate: fix of_node_get-put imbalance 2018-11-27 16:13:00 +01:00
clk-fractional-divider.c clk: fractional-divider: check parent rate only if flag is set 2019-04-05 22:33:03 +02:00
clk-gate.c
clk-gemini.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-gpio.c clk: clk-gpio: propagate rate change to parent 2020-01-04 19:12:52 +01:00
clk-hi655x.c
clk-highbank.c clk: highbank: fix refcount leak in hb_clk_init() 2020-01-27 14:50:08 +01:00
clk-hsdk-pll.c
clk-max9485.c clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
clk-max77686.c
clk-moxart.c
clk-multiplier.c
clk-mux.c clk: honor CLK_MUX_ROUND_CLOSEST in generic clk mux 2018-04-16 09:25:07 -07:00
clk-nomadik.c
clk-npcm7xx.c clk: npcm7xx: fix memory allocation 2018-08-28 15:12:59 -07:00
clk-nspire.c
clk-oxnas.c
clk-palmas.c
clk-pwm.c
clk-qoriq.c clk: qoriq: fix refcount leak in clockgen_init() 2020-01-27 14:50:08 +01:00
clk-rk808.c
clk-s2mps11.c clk: s2mps11: Fix a resource leak in error handling paths in the probe function 2020-12-30 11:26:05 +01:00
clk-scmi.c clk: scmi: Fix min and max rate when registering clocks with discrete rates 2020-08-19 08:14:49 +02:00
clk-scpi.c
clk-si514.c clk-si514, clk-si544: Implement prepare/unprepare/is_prepared operations 2018-06-29 10:59:40 -07:00
clk-si544.c clk-si514, clk-si544: Implement prepare/unprepare/is_prepared operations 2018-06-29 10:59:40 -07:00
clk-si570.c
clk-si5351.c
clk-si5351.h
clk-stm32f4.c clk: stm32: Add clk entry for SDMMC2 on stm32F769 2018-03-19 13:46:07 -07:00
clk-stm32h7.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-stm32mp1.c clk: stm32mp1: parent clocks update 2019-12-05 09:21:35 +01:00
clk-tango4.c
clk-twl6040.c clk: clk-twl6040: Fix imprecise external abort for pdmclk 2019-03-23 20:10:03 +01:00
clk-u300.c
clk-versaclock5.c clk: vc5: Abort clock configuration without upstream clock 2019-03-05 17:58:46 +01:00
clk-vt8500.c
clk-wm831x.c
clk-xgene.c
clk.c clk: Evict unregistered clks from parent caches 2020-08-26 10:31:07 +02:00
clk.h
clkdev.c ARM: 8778/1: clkdev: don't call __of_clk_get_by_name() unnecessarily from clk_get() 2018-08-13 16:27:52 +01:00
Kconfig clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
Makefile clk: keystone: Enable TISCI clocks if K3_ARCH 2019-11-24 08:19:48 +01:00