OpenCloudOS-Kernel/drivers/clk/qcom
Stephen Boyd 56a118f5c7 clk: qcom: Park shared RCGs upon registration
[ Upstream commit 01a0a6cc8cfd9952e72677d48d56cf6bc4e3a561 ]

There's two problems with shared RCGs.

The first problem is that they incorrectly report the parent after
commit 703db1f5da ("clk: qcom: rcg2: Cache CFG register updates for
parked RCGs"). That's because the cached CFG register value needs to be
populated when the clk is registered. clk_rcg2_shared_enable() writes
the cached CFG register value 'parked_cfg'. This value is initially zero
due to static initializers. If a driver calls clk_enable() before
setting a rate or parent, it will set the parent to '0' which is
(almost?) always XO, and may not reflect the parent at registration. In
the worst case, this switches the RCG from sourcing a fast PLL to the
slow crystal speed.

The second problem is that the force enable bit isn't cleared. The force
enable bit is only used during parking and unparking of shared RCGs.
Otherwise it shouldn't be set because it keeps the RCG enabled even when
all the branches on the output of the RCG are disabled (the hardware has
a feedback mechanism so that any child branches keep the RCG enabled
when the branch enable bit is set). This problem wastes power if the clk
is unused, and is harmful in the case that the clk framework disables
the parent of the force enabled RCG. In the latter case, the GDSC the
shared RCG is associated with will get wedged if the RCG's source clk is
disabled and the GDSC tries to enable the RCG to do "housekeeping" while
powering on.

Both of these problems combined with incorrect runtime PM usage in the
display driver lead to a black screen on Qualcomm sc7180 Trogdor
chromebooks. What happens is that the bootloader leaves the
'disp_cc_mdss_rot_clk' enabled and the 'disp_cc_mdss_rot_clk_src' force
enabled and parented to 'disp_cc_pll0'. The mdss driver probes and
runtime suspends, disabling the mdss_gdsc which uses the
'disp_cc_mdss_rot_clk_src' for "housekeeping". The
'disp_cc_mdss_rot_clk' is disabled during late init because the clk is
unused, but the parent 'disp_cc_mdss_rot_clk_src' is still force enabled
because the force enable bit was never cleared. Then 'disp_cc_pll0' is
disabled because it is also unused. That's because the clk framework
believes the parent of the RCG is XO when it isn't. A child device of
the mdss device (e.g. DSI) runtime resumes mdss which powers on the
mdss_gdsc. This wedges the GDSC because 'disp_cc_mdss_rot_clk_src' is
parented to 'disp_cc_pll0' and that PLL is off. With the GDSC wedged,
mdss_runtime_resume() tries to enable 'disp_cc_mdss_mdp_clk' but it
can't because the GDSC has wedged all the clks associated with the GDSC
causing clks to stay stuck off.

This leads to the following warning seen at boot and a black screen
because the display driver fails to probe.

 disp_cc_mdss_mdp_clk status stuck at 'off'
 WARNING: CPU: 1 PID: 81 at drivers/clk/qcom/clk-branch.c:87 clk_branch_toggle+0x114/0x168
 Modules linked in:
 CPU: 1 PID: 81 Comm: kworker/u16:4 Not tainted 6.7.0-g0dd3ee311255 #1 f5757d475795053fd2ad52247a070cd50dd046f2
 Hardware name: Google Lazor (rev1 - 2) with LTE (DT)
 Workqueue: events_unbound deferred_probe_work_func
 pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
 pc : clk_branch_toggle+0x114/0x168
 lr : clk_branch_toggle+0x110/0x168
 sp : ffffffc08084b670
 pmr_save: 00000060
 x29: ffffffc08084b680 x28: ffffff808006de00 x27: 0000000000000001
 x26: ffffff8080dbd4f4 x25: 0000000000000000 x24: 0000000000000000
 x23: 0000000000000000 x22: ffffffd838461198 x21: ffffffd838007997
 x20: ffffffd837541d5c x19: 0000000000000001 x18: 0000000000000004
 x17: 0000000000000000 x16: 0000000000000010 x15: ffffffd837070fac
 x14: 0000000000000003 x13: 0000000000000004 x12: 0000000000000001
 x11: c0000000ffffdfff x10: ffffffd838347aa0 x9 : 08dadf92e516c000
 x8 : 08dadf92e516c000 x7 : 0000000000000000 x6 : 0000000000000027
 x5 : ffffffd8385a61f2 x4 : 0000000000000000 x3 : ffffffc08084b398
 x2 : ffffffc08084b3a0 x1 : 00000000ffffdfff x0 : 00000000fffffff0
 Call trace:
  clk_branch_toggle+0x114/0x168
  clk_branch2_enable+0x24/0x30
  clk_core_enable+0x5c/0x1c8
  clk_enable+0x38/0x58
  clk_bulk_enable+0x40/0xb0
  mdss_runtime_resume+0x68/0x258
  pm_generic_runtime_resume+0x30/0x44
  __genpd_runtime_resume+0x30/0x80
  genpd_runtime_resume+0x124/0x214
  __rpm_callback+0x7c/0x15c
  rpm_callback+0x30/0x88
  rpm_resume+0x390/0x4d8
  rpm_resume+0x43c/0x4d8
  __pm_runtime_resume+0x54/0x98
  __device_attach+0xe0/0x170
  device_initial_probe+0x1c/0x28
  bus_probe_device+0x48/0xa4
  device_add+0x52c/0x6fc
  mipi_dsi_device_register_full+0x104/0x1a8
  devm_mipi_dsi_device_register_full+0x28/0x78
  ti_sn_bridge_probe+0x1dc/0x2bc
  auxiliary_bus_probe+0x4c/0x94
  really_probe+0xf8/0x270
  __driver_probe_device+0xa8/0x130
  driver_probe_device+0x44/0x104
  __device_attach_driver+0xa4/0xcc
  bus_for_each_drv+0x94/0xe8
  __device_attach+0xf8/0x170
  device_initial_probe+0x1c/0x28
  bus_probe_device+0x48/0xa4
  deferred_probe_work_func+0x9c/0xd8

Fix these problems by parking shared RCGs at boot. This will properly
initialize the parked_cfg struct member so that the parent is reported
properly and ensure that the clk won't get stuck on or off because the
RCG is parented to the safe source (XO).

Fixes: 703db1f5da ("clk: qcom: rcg2: Cache CFG register updates for parked RCGs")
Reported-by: Stephen Boyd <sboyd@kernel.org>
Closes: https://lore.kernel.org/r/1290a5a0f7f584fcce722eeb2a1fd898.sboyd@kernel.org
Closes: https://issuetracker.google.com/319956935
Reported-by: Laura Nao <laura.nao@collabora.com>
Closes: https://lore.kernel.org/r/20231218091806.7155-1-laura.nao@collabora.com
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20240502224703.103150-1-swboyd@chromium.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-03 08:54:01 +02:00
..
Kconfig clk: qcom: config IPQ_APSS_6018 should depend on QCOM_SMEM 2023-11-20 11:59:06 +01:00
Makefile clk: qcom: Add Global Clock controller (GCC) driver for IPQ5018 2023-08-11 10:50:38 -07: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: set ALPHA_EN bit for Stromer Plus PLLs 2024-07-11 12:49:19 +02:00
clk-alpha-pll.h clk: qcom: clk-alpha-pll: introduce stromer plus ops 2023-11-20 11:59:06 +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: Make hw_clk_ctrl toggleable 2023-05-26 18:22:58 -07:00
clk-rcg2.c clk: qcom: Park shared RCGs upon registration 2024-08-03 08:54:01 +02: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: Explicitly include correct DT includes 2023-07-19 13:13:16 -07: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 clk: qcom: regmap-mux: fix parent clock lookup 2021-12-02 15:07:34 -08: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: switch to devm_pm_runtime_enable 2023-01-10 22:05:08 -06: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: fix DisplayPort clocks 2024-06-12 11:12:08 +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: drop the CLK_SET_RATE_PARENT flag from GPLL clocks 2023-11-20 11:59:07 +01: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: gcc-ipq9574: Add BRANCH_HALT_VOTED flag 2024-07-11 12:49:17 +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 duplicate initializer warning 2023-01-30 08:41:06 -06: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: Explicitly include correct DT includes 2023-07-19 13:13:16 -07: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: Add soft dependency on rpmhpd 2024-04-03 15:28:16 +02: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 Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-sm8350.c clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling 2023-04-13 20:35:53 -07:00
gcc-sm8450.c Merge branch 'clk-qcom' into clk-next 2023-08-30 14:39:58 -07:00
gcc-sm8550.c clk: qcom: gcc-sm8550: Mark RCGs shared where applicable 2024-01-25 15:35:38 -08: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
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
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: Explicitly include correct DT includes 2023-07-19 13:13:16 -07: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