linux/drivers/clk/qcom
Amit Pundir 1efa37f8b5 clk: qcom: gcc-sdm845: Do not use shared clk_ops for QUPs
[ Upstream commit f760a4bb5e ]

Similar to the earlier fixes meant for sm8x50 and x1e platforms,
we have to stop using the shared clk ops for sdm845 QUPs as well.

As Stephen Boyd pointed out in earlier fixes, there wasn't a problem
to mark QUP 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 and we see garbage on the serial console until the
driver can probe and actually set a proper frequency.

This patch reverts the QUP clk sharing ops part of commit 06391eddb6
("clk: qcom: Add Global Clock controller (GCC) driver for SDM845"), so
that the QUPs on sdm845 don't get parked during clk registration and
break UART operations.

Fixes: 01a0a6cc8c ("clk: qcom: Park shared RCGs upon registration")
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Link: https://lore.kernel.org/r/20241209174912.2526928-1-amit.pundir@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-02-08 09:51:56 +01:00
..
a7-pll.c clk: qcom: a7-pll: Add missing MODULE_DEVICE_TABLE 2021-04-09 11:20:52 -07:00
a53-pll.c clk: qcom: a53-pll: convert to use parent_data rather than parent_names 2022-09-13 16:49:15 -05:00
apcs-msm8916.c clk: qcom: Convert to platform remove callback returning void 2023-03-13 05:41:06 -07:00
apcs-msm8996.c clk: qcom: apcs-msm8986: Include bitfield.h for FIELD_PREP 2023-02-22 17:38:56 -08:00
apcs-sdx55.c clk: qcom: Convert to platform remove callback returning void 2023-03-13 05:41:06 -07:00
apss-ipq-pll.c clk: qcom: apss-ipq-pll: Fix 'l' value for ipq5332_pll_config 2023-11-20 11:59:07 +01:00
apss-ipq6018.c clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical 2022-09-26 21:40:10 -05:00
camcc-sc7180.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
camcc-sc7280.c clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs 2024-08-03 08:53:56 +02:00
camcc-sdm845.c clk: qcom: Revert sync_state based clk_disable_unused 2023-02-22 06:34:08 -08:00
camcc-sm6350.c clk: qcom: camcc-sm6350: Make camcc_sm6350_hws static 2023-01-11 13:35:17 -06:00
camcc-sm8250.c clk: qcom: camcc-sm8250: Fix topology around titan_top power domain 2022-06-30 18:34:55 -05:00
camcc-sm8450.c clk: qcom: camcc-sm8450: switch to parent_hws 2023-01-10 15:58:59 -06:00
clk-alpha-pll.c clk: qcom: clk-alpha-pll: Add NSS HUAYRA ALPHA PLL support for ipq9574 2025-01-09 13:31:44 +01:00
clk-alpha-pll.h clk: qcom: clk-alpha-pll: Add NSS HUAYRA ALPHA PLL support for ipq9574 2025-01-09 13:31:44 +01:00
clk-branch.c clk: qcom: branch: Extend the invert logic for branch2 clocks 2023-05-24 21:47:17 -07:00
clk-branch.h clk: qcom: branch: Clean up branch enable registers 2023-03-13 12:59:44 -07:00
clk-cbf-8996.c clk: qcom: cbf-msm8996: Add support for MSM8996 Pro 2023-07-31 14:29:05 -07:00
clk-cpu-8996.c clk: Annotate struct clk_hw_onecell_data with __counted_by 2023-08-22 13:51:26 -07:00
clk-hfpll.c clk: qcom: clk-hfpll: switch to .determine_rate 2023-03-13 16:38:24 -07:00
clk-hfpll.h clk: qcom: Add support for High-Frequency PLLs (HFPLLs) 2018-10-17 13:14:37 -07:00
clk-krait.c clk: qcom: clk-krait: switch to .determine_rate 2023-03-13 16:38:24 -07:00
clk-krait.h clk: qcom: clk-krait: add apq/ipq8064 errata workaround 2022-06-27 15:41:37 -05:00
clk-pll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-rcg.c clk: qcom: clk-rcg: add clk_rcg_floor_ops ops 2022-03-08 16:19:31 -06:00
clk-rcg.h clk: qcom: rcg2: add clk_rcg2_shared_floor_ops 2024-12-14 20:00:11 +01:00
clk-rcg2.c clk: qcom: rcg2: add clk_rcg2_shared_floor_ops 2024-12-14 20:00:11 +01:00
clk-regmap-divider.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-regmap-divider.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-regmap-mux-div.c clk: qcom: Add regmap mux-div clocks support 2018-01-02 10:00:24 -08:00
clk-regmap-mux-div.h clk: qcom: Use the correct style for SPDX License Identifier 2019-05-01 13:01:13 -07:00
clk-regmap-mux.c Revert "clk: qcom: regmap-mux: add pipe clk implementation" 2022-05-23 12:26:13 -05:00
clk-regmap-mux.h Revert "clk: qcom: regmap-mux: add pipe clk implementation" 2022-05-23 12:26:13 -05:00
clk-regmap-phy-mux.c clk: qcom: regmap: add PHY clock source implementation 2022-06-25 21:36:07 -05:00
clk-regmap-phy-mux.h clk: qcom: regmap: add PHY clock source implementation 2022-06-25 21:36:07 -05:00
clk-regmap.c clk: qcom: clk-regmap: Provide missing description for 'devm_clk_register_regmap()'s dev param 2021-02-10 19:42:51 -08:00
clk-regmap.h clk: define to_clk_regmap() as inline function 2020-10-28 16:34:44 -07:00
clk-rpm.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-rpmh.c clk: qcom: rpmh: add support for SAR2130P 2024-12-14 20:00:11 +01:00
clk-smd-rpm.c clk: qcom: smd-rpm: Restore msm8976 num_clk 2024-05-17 12:02:07 +02:00
clk-spmi-pmic-div.c clk: qcom: clk-spmi-pmic-div: Annotate struct spmi_pmic_div_clk_cc with __counted_by 2023-08-22 13:51:54 -07:00
common.c of: remove internal arguments from of_property_for_each_u32() 2025-02-08 09:51:51 +01:00
common.h clk: qcom: regmap-mux: fix parent clock lookup 2021-12-02 15:07:34 -08:00
dispcc-qcm2290.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
dispcc-sc7180.c clk: qcom: dispcc-sc7180: switch to parent_hws 2023-01-10 15:58:59 -06:00
dispcc-sc7280.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -08:00
dispcc-sc8280xp.c clk: qcom: dispcc-sc8280xp: Use ret registers on GDSCs 2023-07-27 20:28:15 -07:00
dispcc-sdm845.c clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times 2024-03-26 18:19:49 -04:00
dispcc-sm6115.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
dispcc-sm6125.c clk: qcom: dispcc-sm6125: Fix compatible string to match bindings 2022-12-29 10:57:25 -06:00
dispcc-sm6350.c clk: qcom: dispcc-sm6350: fix DisplayPort clocks 2024-06-12 11:12:08 +02:00
dispcc-sm6375.c clk: qcom: dispcc-sm6375: switch to parent_hws 2023-01-10 15:58:59 -06:00
dispcc-sm8250.c clk: qcom: dispcc-sm8250: use CLK_SET_RATE_PARENT for branch clocks 2024-10-10 11:57:54 +02:00
dispcc-sm8450.c clk: qcom: dispcc-sm8450: fix DisplayPort clocks 2024-06-12 11:12:08 +02:00
dispcc-sm8550.c clk: qcom: dispcc-sm8550: use rcg2_shared_ops for ESC RCGs 2024-10-04 16:29:27 +02:00
gcc-apq8084.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-ipq806x.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-ipq4019.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-ipq5018.c clk: qcom: gcc-ipq5018: fix terminating of frequency table arrays 2024-04-03 15:28:23 +02:00
gcc-ipq5332.c clk: qcom: ipq5332: Register gcc_qdss_tsctr_clk_src 2024-10-04 16:29:29 +02:00
gcc-ipq6018.c clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays 2024-04-03 15:28:23 +02:00
gcc-ipq8074.c clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays 2024-04-03 15:28:23 +02:00
gcc-ipq9574.c clk: qcom: ipq9574: Update the alpha PLL type for GPLLs 2024-09-12 11:11:43 +02:00
gcc-mdm9607.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-mdm9615.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-msm8660.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8909.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8916.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8917.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-msm8939.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8953.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8960.c clk: qcom: Convert to platform remove callback returning void 2023-03-13 05:41:06 -07:00
gcc-msm8974.c clk: qcom: gcc-msm8974: switch from sleep_clk_src to sleep_clk 2023-01-10 22:47:42 -06:00
gcc-msm8976.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8994.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-msm8996.c clk: qcom: gcc-msm8996: Remove RPM bus clocks 2023-11-20 11:59:04 +01:00
gcc-msm8998.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-qcm2290.c clk: qcom: gcc-qcm2290: Mark RCGs shared where applicable 2023-05-24 21:47:16 -07:00
gcc-qcs404.c clk: qcom: gcc-qcs404: fix initial rate of GPLL3 2024-12-09 10:33:05 +01:00
gcc-qdu1000.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-sa8775p.c clk: qcom: gcc-sa8775p: Update the GDSC wait_val fields and flags 2024-08-03 08:53:58 +02:00
gcc-sc7180.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-sc7280.c clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock 2024-08-03 08:53:56 +02:00
gcc-sc8180x.c clk: qcom: gcc-sc8180x: Add GPLL9 support 2024-10-10 11:58:05 +02:00
gcc-sc8280xp.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-sdm660.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-sdm845.c clk: qcom: gcc-sdm845: Do not use shared clk_ops for QUPs 2025-02-08 09:51:56 +01:00
gcc-sdx55.c clk: qcom: gcc-sdx55: get rid of test clock 2023-01-10 22:44:29 -06:00
gcc-sdx65.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-sdx75.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-sm6115.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-sm6125.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-sm6350.c clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents 2024-07-11 12:49:19 +02:00
gcc-sm6375.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gcc-sm7150.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-sm8150.c clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src 2023-11-20 11:59:04 +01:00
gcc-sm8250.c clk: qcom: gcc-sm8250: Do not turn off PCIe GDSCs during gdsc_disable() 2024-10-10 11:57:55 +02:00
gcc-sm8350.c clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling 2023-04-13 20:35:53 -07:00
gcc-sm8450.c clk: qcom: gcc-sm8450: Do not turn off PCIe GDSCs during gdsc_disable() 2024-10-10 11:57:54 +02:00
gcc-sm8550.c clk: qcom: gcc-sm8550: Don't park the USB RCG at registration time 2024-09-12 11:11:44 +02:00
gdsc.c clk: qcom: gdsc: Support 'synced_poweroff' genpd flag 2023-01-10 11:07:10 -06:00
gdsc.h clk: qcom: gdsc: Remove direct runtime PM calls 2022-11-04 11:53:49 -07:00
gpucc-msm8998.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gpucc-sa8775p.c clk: qcom: gpucc-sa8775p: Update wait_val fields for GPU GDSC's 2024-08-03 08:53:58 +02:00
gpucc-sc7180.c clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC 2023-02-08 17:48:55 -08:00
gpucc-sc7280.c clk: qcom: Update the force mem core bit for GPU clocks 2022-10-27 17:23:29 -07:00
gpucc-sc8280xp.c clk: qcom: gpucc-sc8280xp: Add runtime PM 2023-06-20 16:31:04 -07:00
gpucc-sdm660.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gpucc-sdm845.c clk: qcom: Revert sync_state based clk_disable_unused 2023-02-22 06:34:08 -08:00
gpucc-sm6115.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gpucc-sm6125.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gpucc-sm6350.c clk: qcom: gpucc-sm6350: Fix clock source names 2023-07-09 20:53:09 -07:00
gpucc-sm6375.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gpucc-sm8150.c clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config 2024-01-25 15:35:34 -08:00
gpucc-sm8250.c clk: qcom: gpucc-sm8250: use parent_hws where possible 2021-04-07 17:22:54 -07:00
gpucc-sm8350.c clk: qcom: gpucc-sm8350: Park RCG's clk source at XO during disable 2024-08-03 08:53:58 +02:00
gpucc-sm8450.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
gpucc-sm8550.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
hfpll.c clk: qcom: hfpll: use devm_platform_get_and_ioremap_resource() 2022-12-01 17:26:40 -06:00
Kconfig clk: qcom: config IPQ_APSS_6018 should depend on QCOM_SMEM 2023-11-20 11:59:06 +01:00
kpss-xcc.c clk: qcom: kpss-xcc: Return of_clk_add_hw_provider to transfer the error 2024-08-03 08:54:01 +02:00
krait-cc.c clk: qcom: krait-cc: fix wrong pointer passed to IS_ERR() 2023-01-10 09:29:02 -06:00
lcc-ipq806x.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
lcc-msm8960.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
lpass-gfm-sm8250.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
lpassaudiocc-sc7280.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
lpasscc-sc7280.c clk: qcom: lpasscc-sc7280: fix missing resume during probe 2023-07-18 07:58:50 -07:00
lpasscc-sc8280xp.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
lpasscc-sdm845.c clk: qcom: lpasscc-sdm845: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
lpasscorecc-sc7180.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
lpasscorecc-sc7280.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
Makefile clk: qcom: Add Global Clock controller (GCC) driver for IPQ5018 2023-08-11 10:50:38 -07:00
mmcc-apq8084.c clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays 2024-04-03 15:28:23 +02:00
mmcc-msm8960.c clk: qcom: mmcc-msm8960: use parent_hws/_data instead of parent_names 2022-09-13 21:58:35 -05:00
mmcc-msm8974.c clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays 2024-04-03 15:28:23 +02:00
mmcc-msm8994.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
mmcc-msm8996.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
mmcc-msm8998.c clk: qcom: mmcc-msm8998: fix venus clock issue 2024-06-12 11:12:08 +02:00
mmcc-sdm660.c clk: qcom: mmcc-sdm660: Add hw_ctrl flag to venus_core0_gdsc 2021-10-13 15:20:24 -07:00
mss-sc7180.c clk: qcom: mss-sc7180: fix missing resume during probe 2023-07-18 07:58:50 -07:00
q6sstop-qcs404.c clk: qcom: q6sstop-qcs404: fix missing resume during probe 2023-07-18 07:58:50 -07:00
reset.c clk: qcom: reset: Ensure write completion on reset de/assertion 2024-03-26 18:19:46 -04:00
reset.h clk: qcom: reset: support resetting multiple bits 2022-12-01 17:26:35 -06:00
tcsrcc-sm8550.c clk: qcom: tcsrcc-sm8550: add SAR2130P support 2024-12-14 20:00:11 +01:00
turingcc-qcs404.c clk: qcom: turingcc-qcs404: fix missing resume during probe 2023-07-18 07:58:50 -07:00
videocc-sc7180.c clk: qcom: videocc-sc7180: use parent_hws instead of parent_data 2022-02-10 18:33:31 -06:00
videocc-sc7280.c clk: qcom: Add video clock controller driver for SC7280 2021-07-20 13:46:32 -07:00
videocc-sdm845.c clk: qcom: videocc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
videocc-sm8150.c clk: qcom: videocc-sm8150: Add missing PLL config property 2024-01-25 15:35:37 -08:00
videocc-sm8250.c clk: qcom: videocc-sm8250: switch to devm_pm_runtime_enable 2023-01-10 22:05:09 -06:00
videocc-sm8350.c clk: qcom: videocc-sm8350: Add SC8280XP support 2023-07-31 14:15:44 -07:00
videocc-sm8450.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
videocc-sm8550.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00