linux/drivers/clk
Johan Hovold 71c03a8cb2 clk: qcom: gcc-sc8280xp: don't use parking clk_ops for QUPs
A recent change started parking the RCG at an always on parent during
registration, something which specifically breaks handover from an early
serial console.

Quoting Stephen Boyd who fixed this issue for SM8550 [1]:

	The QUPs aren't shared in a way that requires parking the RCG at
	an always on parent in case some other entity turns on the clk.
	The hardware is capable of setting a new frequency itself with
	the DFS mode, so parking is unnecessary. Furthermore, there
	aren't any GDSCs for these devices, so there isn't a possibility
	of the GDSC turning on the clks for housekeeping purposes.

	This wasn't a problem to mark these clks shared until we started
	parking shared RCGs at clk registration time in commit
	01a0a6cc8c ("clk: qcom: Park shared RCGs upon registration").
	Parking at init is actually harmful to the UART when earlycon is
	used. If the device is pumping out data while the frequency
	changes you'll see garbage on the serial console until the
	driver can probe and actually set a proper frequency.

Fixes: 01a0a6cc8c ("clk: qcom: Park shared RCGs upon registration")
Fixes: d65d005f9a ("clk: qcom: add sc8280xp GCC driver")
Link: https://lore.kernel.org/all/20240819233628.2074654-2-swboyd@chromium.org/ [1]
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240902070830.8535-1-johan+linaro@kernel.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2024-09-03 13:01:34 -07:00
..
actions clk: actions: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:03 -07:00
analogbits clk: analogbits: Allow building the library as a module 2023-10-23 20:26:49 -07:00
at91 clk: at91: remove unnecessary conditions 2023-10-18 17:56:13 -07:00
axis
axs10x clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
baikal-t1 clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
bcm clk: bcm: rpi: Assign ->num before accessing ->hws 2024-04-29 17:03:20 -07:00
berlin clk: berlin: div: Add a determine_rate hook 2023-06-08 18:39:26 -07:00
davinci clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use 2024-07-18 13:33:01 -07:00
hisilicon clk: hisilicon: Use devm_kcalloc() instead of devm_kzalloc() 2024-02-21 20:27:19 -08:00
imgtec
imx clk: imx: imx8mp: Convert to platform remove callback returning void 2024-05-01 14:40:49 +03:00
ingenic clk: ingenic: tcu: Switch to determine_rate 2023-06-08 18:39:34 -07:00
keystone Merge branches 'clk-aspeed', 'clk-keystone', 'clk-mobileye' and 'clk-allwinner' into clk-next 2024-03-13 12:34:04 -07:00
mediatek This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
meson clk: meson: add missing MODULE_DESCRIPTION() macros 2024-06-14 09:29:41 +02:00
microchip clock, reset: microchip: move all mpfs reset code to the reset subsystem 2024-05-07 14:57:46 -07:00
mmp clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() 2023-12-16 17:15:06 -08:00
mstar
mvebu Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
mxs clk: mxs: Use clamp() in clk_ref_round_rate() and clk_ref_set_rate() 2024-07-10 13:08:59 -07:00
nuvoton clk: nuvoton: Convert to devm_platform_ioremap_resource() 2023-08-22 14:52:11 -07:00
nxp clk: lpc32xx: Constify struct regmap_config 2024-07-08 13:32:47 -07:00
pistachio
pxa ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
qcom clk: qcom: gcc-sc8280xp: don't use parking clk_ops for QUPs 2024-09-03 13:01:34 -07:00
ralink clk: ralink: mtmips: quiet unused variable warning 2023-10-18 17:31:44 -07:00
renesas clk: renesas: r9a08g045: Add clock, reset and power domain support for I2C 2024-06-27 18:17:13 +02:00
rockchip clk: rockchip: rk3188: Drop CLK_NR_CLKS usage 2024-06-27 21:04:40 +02:00
samsung clk: samsung: fix getting Exynos4 fin_pll rate from external clocks 2024-07-23 11:29:23 -07:00
sifive This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
socfpga Merge branches 'clk-debugfs', 'clk-spreadtrum', 'clk-sifive', 'clk-counted' and 'clk-qcom' into clk-next 2023-10-30 14:10:51 -07:00
sophgo clk: sophgo: clk-sg2042-pll: Fix uninitialized variable in debug output 2024-07-18 13:33:15 -07:00
spear clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
sprd clk: sprd: add missing MODULE_DESCRIPTION() macro 2024-06-03 15:43:16 -07:00
st clk: st: flexgen: Switch to determine_rate 2023-06-08 18:39:35 -07:00
starfive clk: starfive: jh7110-sys: Add notifier for PLL0 clock 2024-08-29 12:24:42 -07:00
stm32 clk: stm32mp25: add security clocks 2024-06-03 14:10:46 -07:00
sunxi of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
sunxi-ng This a large collection of clk driver updates and a handful of new SoC 2024-07-19 12:16:28 -07:00
tegra clk: tegra: fix error return case for recalc_rate 2023-09-12 10:56:05 -07:00
thead clk: thead: fix dependency on clk_ignore_unused 2024-07-31 14:51:47 -07:00
ti clk: ti: dpll: fix incorrect #ifdef checks 2024-04-05 14:13:22 -07:00
uniphier clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
ux500 clk: ux500: sysctrl: Add a determine_rate hook 2023-06-08 18:39:30 -07:00
versatile clk: vexpress-osc: add missing MODULE_DESCRIPTION() macro 2024-07-02 15:56:43 -07:00
visconti clk: visconti: Add bounds-checking coverage for struct visconti_pll_provider 2023-10-23 19:40:20 -07:00
x86 clk: x86: Move clk-pmc-atom register defines to include/linux/platform_data/x86/pmc_atom.h 2024-03-12 12:48:15 +02:00
xilinx clk: xilinx: Constify struct regmap_config 2024-07-08 13:32:26 -07:00
zynq clk: zynq: Prevent null pointer dereference caused by kmalloc failure 2024-03-08 17:15:20 -08:00
zynqmp drivers: clk: zynqmp: update divider round rate logic 2023-12-16 17:20:14 -08:00
.kunitconfig clk: fractional-divider: tests: Add test suite for edge cases 2023-10-12 15:05:00 -07:00
clk_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-apple-nco.c
clk-asm9260.c clk: asm9620: Remove 'hw' local variable that isn't checked 2023-09-11 13:12:53 -07:00
clk-aspeed.c Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
clk-aspeed.h
clk-ast2600.c clk: ast2600: Add FSI parent clock with correct rate 2024-02-21 21:46:13 -08:00
clk-axi-clkgen.c clk: axi-clkgen: Switch to determine_rate 2023-06-08 18:39:33 -07:00
clk-axm5516.c clk: axm5516: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:05 -07:00
clk-bd718x7.c
clk-bm1880.c clk: bm1880: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:11 -07:00
clk-bulk.c
clk-cdce706.c Merge branches 'clk-renesas', 'clk-determine-rate', 'clk-allwinner', 'clk-samsung' and 'clk-amlogic' into clk-next 2023-06-26 08:55:04 -07:00
clk-cdce925.c clk: cdce925: Remove redundant assignment to variable 'rate' 2024-02-21 21:36:09 -08:00
clk-clps711x.c
clk-composite.c clk: composite: Fix handling of high clock rates 2023-06-12 17:42:10 -07:00
clk-conf.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
clk-cs2000-cp.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-devres.c clk: Provide managed helper to get and enable bulk clocks 2024-02-21 21:13:36 -08:00
clk-divider.c
clk-en7523.c clk: en7523: fix rate divider for slic and spi clocks 2024-07-08 14:43:28 -07:00
clk-fixed-factor.c clk: fixed-factor: add fwname-based constructor functions 2024-02-21 22:11:51 -08:00
clk-fixed-mmio.c Nothing looks out of the ordinary in this batch of clk driver updates. There 2023-04-29 17:29:39 -07:00
clk-fixed-rate.c clk: fixed-rate: Convert to platform remove callback returning void 2023-03-28 19:23:36 -07:00
clk-fractional-divider_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-fractional-divider.c clk: fractional-divider: Use bit operations consistently 2024-03-08 17:07:11 -08:00
clk-fractional-divider.h
clk-fsl-flexspi.c
clk-fsl-sai.c clk: fsl-sai: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:15 -07:00
clk-gate_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-gate.c clk: gate: fix comment typo and grammar 2023-09-11 13:20:40 -07:00
clk-gemini.c clk: gemini: Remove an unused field in struct clk_gemini_pci 2024-04-19 18:58:36 -07:00
clk-gpio.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-hi655x.c
clk-highbank.c clk: highbank: Remove an unused field in struct hb_clk 2024-04-19 18:57:30 -07:00
clk-hsdk-pll.c clk: hsdk-pll: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:20 -07:00
clk-k210.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-lan966x.c clk: lan966x: Remove unused round_rate hook 2023-06-08 18:39:25 -07:00
clk-lmk04832.c clk: lmk04832: Support using PLL1_LD as SPI readback pin 2023-08-23 15:47:35 -07:00
clk-lochnagar.c clk: Use device_get_match_data() 2023-10-23 20:16:21 -07:00
clk-loongson1.c clk: loongson1: Re-implement the clock driver 2023-03-21 16:34:23 -07:00
clk-loongson2.c clk: clk-loongson2: Add Loongson-2K2000 clock support 2024-04-11 00:30:13 -07:00
clk-max9485.c clk: Switch i2c drivers back to use .probe() 2023-05-10 14:05:34 -07:00
clk-max77686.c
clk-milbeaut.c clk: Annotate struct clk_hw_onecell_data with __counted_by 2023-08-22 13:51:26 -07:00
clk-moxart.c
clk-multiplier.c
clk-mux.c
clk-nomadik.c clk: nomadik: correct struct name kernel-doc warning 2022-12-09 10:26:25 -08:00
clk-npcm7xx.c clk: npcm7xx: Fix incorrect kfree 2023-10-18 18:06:05 -07:00
clk-nspire.c
clk-palmas.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-plldig.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-pwm.c clk: pwm: Convert to platform remove callback returning void 2023-03-28 19:23:37 -07:00
clk-qoriq.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-renesas-pcie.c clk: rs9: fix wrong default value for clock amplitude 2024-04-19 19:09:41 -07:00
clk-rk808.c clk: RK808: Reduce 'struct rk808' usage 2023-05-15 16:13:56 +01:00
clk-s2mps11.c clk: s2mps11: Convert to platform remove callback returning void 2023-03-28 19:23:37 -07:00
clk-scmi.c clk: scmi: Add support for get/set duty_cycle operations 2024-04-22 17:17:14 -07:00
clk-scpi.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-si514.c clk: si514: Convert to use maple tree register cache 2023-10-09 20:29:16 -07:00
clk-si521xx.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si544.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si570.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si5341.c clk: si5341: fix an error code problem in si5341_output_clk_set_rate 2023-12-17 17:46:42 -08:00
clk-si5351.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
clk-si5351.h
clk-sp7021.c clk: sp7021: fix return value check in sp7021_clk_probe() 2023-12-16 17:10:17 -08:00
clk-sparx5.c
clk-stm32f4.c clk: stm32f4: mux: Add a determine_rate hook 2023-06-08 18:39:27 -07:00
clk-stm32h7.c clk: stm32h7: Remove an unused field in struct stm32_fractional_divider 2023-04-03 14:10:42 -07:00
clk-tps68470.c
clk-twl6040.c
clk-twl.c clk: twl: add clock driver for TWL6032 2023-10-19 16:40:15 -07:00
clk-versaclock3.c clk: versaclock3: Drop ret variable 2023-12-17 15:56:14 -08:00
clk-versaclock5.c clk: versaclock5: Convert to use maple tree register cache 2023-10-09 20:31:23 -07:00
clk-versaclock7.c clk: versaclock7: Convert to use maple tree register cache 2023-10-09 20:31:23 -07:00
clk-vt8500.c
clk-wm831x.c clk: wm831x: clkout: Add a determine_rate hook 2023-06-08 18:39:28 -07:00
clk-xgene.c
clk.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
clk.h
clkdev.c Merge topic branches 'clkdev' and 'fixes' into for-linus 2024-06-10 12:03:21 +01:00
Kconfig Merge branches 'clk-qcom', 'clk-rockchip', 'clk-sophgo' and 'clk-thead' into clk-next 2024-07-16 11:24:25 -07:00
Makefile clk: thead: Add support for T-Head TH1520 AP_SUBSYS clocks 2024-07-15 12:15:01 -07:00