kernel_optimize_test/drivers/clk/qcom
Taniya Das 9c3df2b199 clk: qcom: gcc: Make disp gpll0 branch aon for sc7180/sdm845
The display gpll0 branch clock inside GCC needs to always be enabled.
Otherwise the AHB clk (disp_cc_mdss_ahb_clk_src) for the display clk
controller (dispcc) will stop clocking while sourcing from gpll0 when
this branch inside GCC is turned off during unused clk disabling. We can
never turn this branch off because the AHB clk for the display subsystem
is needed to read/write any registers inside the display subsystem
including clk related ones. This makes this branch a really easy way to
turn off AHB access to the display subsystem and cause all sorts of
mayhem. Let's just make the clk ops keep the clk enabled forever and
ignore any attempts to disable this clk so that dispcc accesses keep
working.

Signed-off-by: Taniya Das <tdas@codeaurora.org>
Reported-by: Evan Green <evgreen@chromium.org>
Link: https://lore.kernel.org/r/1594796050-14511-1-git-send-email-tdas@codeaurora.org
Fixes: 17269568f7 ("clk: qcom: Add Global Clock controller (GCC) driver for SC7180")
Fixes: 06391eddb6 ("clk: qcom: Add Global Clock controller (GCC) driver for SDM845")
[sboyd@kernel.org: Fill out commit text more]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2020-07-21 00:44:11 -07:00
..
a53-pll.c clk: qcom: Add A53 PLL support 2018-01-02 10:00:24 -08:00
apcs-msm8916.c clk: qcom: apcs-msm8916: use clk_parent_data to specify the parent 2020-01-04 23:15:47 -08:00
apss-ipq-pll.c clk: qcom: Add ipq apss pll driver 2020-06-22 00:21:59 -07:00
apss-ipq6018.c clk: qcom: Fix return value check in apss_ipq6018_probe() 2020-06-29 14:15:34 -07:00
camcc-sdm845.c clk: qcom: Add camera clock controller driver for SDM845 2018-08-30 18:27:06 -07:00
clk-alpha-pll.c clk: qcom: clk-alpha-pll: Add support for controlling Lucid PLLs 2020-03-09 15:14:56 -07:00
clk-alpha-pll.h clk: qcom: Add CPU clock driver for msm8996 2020-07-10 17:09:20 -07:00
clk-branch.c clk: qcom: branch: Add AON clock ops 2019-04-11 13:34:21 -07:00
clk-branch.h clk: qcom: branch: Add AON clock ops 2019-04-11 13:34:21 -07:00
clk-cpu-8996.c clk: qcom: msm8996: Make symbol 'cpu_msm8996_clks' static 2020-07-20 17:40:18 -07:00
clk-hfpll.c clk: let init callback return an error code 2019-12-23 18:53:13 -08: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: Add safe switch hook for krait mux clocks 2018-10-17 13:15:05 -07:00
clk-krait.h clk: qcom: Add safe switch hook for krait mux clocks 2018-10-17 13:15:05 -07: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-rcg.h clk: qcom: rcg2: Add support for display port clock ops 2019-12-18 21:22:00 -08:00
clk-rcg2.c clk: qcom: rcg2: Don't crash if our parent can't be found; return an error 2020-02-03 23:04:02 -08: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-regmap-mux.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-regmap.c clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
clk-regmap.h clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
clk-rpm.c clk: qcom: clk-rpm: add missing rpm clk for ipq806x 2020-03-13 13:56:31 -07:00
clk-rpmh.c clk: qcom: rpmh: Drop unnecessary semicolons 2020-03-24 19:35:02 -07:00
clk-smd-rpm.c clk: qcom: smd: Add support for MSM8992/4 rpm clocks 2020-07-11 09:19:24 -07:00
clk-spmi-pmic-div.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
common.c clk: qcom: Allow constant ratio freq tables for rcg 2019-11-07 13:43:19 -08:00
common.h clk: qcom: define probe by index API as common API 2019-08-08 08:20:01 -07:00
dispcc-sc7180.c clk: qcom: dispcc: Remove support of disp_cc_mdss_rscc_ahb_clk 2020-02-12 15:03:08 -08:00
dispcc-sdm845.c clk: qcom: dispcc: Add support for display port clocks 2019-12-18 21:24:13 -08:00
gcc-apq8084.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gcc-ipq806x.c ipq806x: gcc: add support for child probe 2020-07-21 00:10:21 -07:00
gcc-ipq4019.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gcc-ipq6018.c clk: qcom: Add ipq6018 Global Clock Controller support 2020-01-09 12:42:55 -08:00
gcc-ipq8074.c clk: qcom: ipq8074: Add missing clocks for pcie 2020-07-11 09:12:36 -07:00
gcc-mdm9615.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gcc-msm8660.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gcc-msm8916.c clk: qcom: msm8916: Fix the address location of pll->config_reg 2020-04-21 19:45:18 -07:00
gcc-msm8939.c clk: qcom: gcc-msm8939: Add MSM8939 Generic Clock Controller 2020-05-26 19:37:58 -07:00
gcc-msm8960.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gcc-msm8974.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gcc-msm8994.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
gcc-msm8996.c clk: qcom: gcc-msm8996: Fix parent for CLKREF clocks 2020-01-06 08:55:28 -08:00
gcc-msm8998.c clk: qcom: Add missing msm8998 ufs_unipro_core_clk_src 2020-05-28 16:52:25 -07:00
gcc-qcs404.c clk: qcom: gcc: limit GPLL0_AO_OUT operating frequency 2019-12-18 22:07:52 -08:00
gcc-sc7180.c clk: qcom: gcc: Make disp gpll0 branch aon for sc7180/sdm845 2020-07-21 00:44:11 -07:00
gcc-sdm660.c clk: qcom: gcc: Use floor ops for SDCC clocks 2019-09-09 04:39:12 -07:00
gcc-sdm845.c clk: qcom: gcc: Make disp gpll0 branch aon for sc7180/sdm845 2020-07-21 00:44:11 -07:00
gcc-sm8150.c This time around we have 4 lines of diff in the core framework, removing a 2020-06-10 11:42:19 -07:00
gcc-sm8250.c clk: qcom: gcc: Add global clock controller driver for SM8250 2020-03-09 15:14:57 -07:00
gdsc.c clk: qcom: gdsc: Handle GDSC regulator supplies 2020-05-14 14:23:38 -07:00
gdsc.h clk: qcom: gdsc: Handle GDSC regulator supplies 2020-05-14 14:23:38 -07:00
gpucc-msm8998.c clk: qcom: Avoid SMMU/cx gdsc corner cases 2019-12-18 22:02:27 -08:00
gpucc-sc7180.c clk: qcom: gpucc: Add support for GX GDSC for SC7180 2020-02-12 15:24:52 -08:00
gpucc-sdm845.c clk: qcom: gpu_cc_gmu_clk_src has 5 parents, not 6 2018-11-28 13:24:45 -08:00
hfpll.c clk: qcom: hfpll: use clk_parent_data to specify the parent 2019-12-18 22:07:52 -08:00
Kconfig clk: qcom: Add CPU clock driver for msm8996 2020-07-10 17:09:20 -07:00
kpss-xcc.c clk: qcom: Add KPSS ACC/GCC driver 2018-10-17 13:14:54 -07:00
krait-cc.c clk: qcom: Add safe switch hook for krait mux clocks 2018-10-17 13:15:05 -07:00
lcc-ipq806x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
lcc-mdm9615.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
lcc-msm8960.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
lpasscc-sdm845.c clk: qcom: define probe by index API as common API 2019-08-08 08:20:01 -07:00
Makefile clk: qcom: Add CPU clock driver for msm8996 2020-07-10 17:09:20 -07:00
mmcc-apq8084.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
mmcc-msm8960.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
mmcc-msm8974.c clk: qcom: mmcc8974: move gfx3d_clk_src from the mmcc to rpm 2019-12-18 21:27:44 -08:00
mmcc-msm8996.c clk: qcom: mmcc-msm8996: Properly describe GPU_GX gdsc 2020-05-14 14:23:42 -07:00
mmcc-msm8998.c clk: qcom: Add MSM8998 Multimedia Clock Controller (MMCC) driver 2019-12-18 21:37:40 -08:00
mss-sc7180.c clk: qcom: Add modem clock controller driver for SC7180 2020-03-20 16:28:05 -07:00
q6sstop-qcs404.c clk: qcom: Add Q6SSTOP clock controller for QCS404 2019-11-07 13:10:36 -08:00
reset.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
reset.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
turingcc-qcs404.c clk: qcom: fix QCS404 TuringCC regmap 2019-09-09 09:05:22 -07:00
videocc-sc7180.c clk: qcom: videocc: Update the clock flag for video_cc_vcodec0_core_clk 2020-02-12 15:02:44 -08:00
videocc-sdm845.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00