linux/drivers/clk/qcom
Dmitry Baryshkov 1b771839de clk: qcom: gdsc: enable optional power domain support
On sm8250 dispcc and videocc registers are powered up by the MMCX power
domain. Currently we use a regulator to enable this domain on demand,
however this has some consequences, as genpd code is not reentrant.

Make gdsc code also use pm_runtime calls to ensure that registers are
accessible during the gdsc_enable/gdsc_disable operations.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210829154757.784699-6-dmitry.baryshkov@linaro.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2021-10-14 17:58:14 -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: Make use of the helper function devm_platform_ioremap_resource() 2021-09-14 14:39:14 -07:00
apcs-msm8916.c clk: qcom: a53pll/mux: Use unique clock name 2021-08-05 18:52:11 -07:00
apcs-sdx55.c clk: qcom: cleanup some dev_err_probe() calls 2021-06-01 16:34:02 -07:00
apss-ipq6018.c clk: qcom: Fix return value check in apss_ipq6018_probe() 2020-06-29 14:15:34 -07:00
apss-ipq-pll.c clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE 2021-04-09 11:20:53 -07:00
camcc-sc7180.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
camcc-sc7280.c clk: qcom: camcc: Add camera clock controller driver for SC7280 2021-10-13 15:32:29 -07:00
camcc-sdm845.c
camcc-sm8250.c clk: qcom: Add camera clock controller driver for SM8250 2021-06-27 17:19:22 -07:00
clk-alpha-pll.c clk: qcom: clk-alpha-pll: fix CAL_L write in alpha_pll_fabia_prepare 2021-06-27 19:34:31 -07:00
clk-alpha-pll.h clk: qcom: clk-alpha-pll: add support for zonda pll 2021-06-27 17:12:55 -07:00
clk-branch.c
clk-branch.h
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-krait.c
clk-krait.h
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-rcg2.c clk: qcom: clk-rcg2: Add support for duty-cycle for RCG 2021-05-25 20:36:21 -07: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: Stop hardcoding gfx3d pingpong parent numbers 2021-02-14 12:56:54 -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-regmap-mux-div.h
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: 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: qcom: clk-rpm: Remove a bunch of superfluous code 2021-02-11 11:56:06 -08:00
clk-rpmh.c clk: qcom: rpmh: Add support for RPMH clocks on SM6350 2021-08-28 21:01:21 -07:00
clk-smd-rpm.c clk: qcom: smd-rpm: Add QCM2290 RPM clock support 2021-10-13 15:20:22 -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: common: Make use of the helper function devm_platform_ioremap_resource() 2021-09-14 14:39:31 -07: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-sc7180: use parent_hws where possible 2021-04-07 17:22:53 -07:00
dispcc-sc7280.c clk: qcom: Add display clock controller driver for SC7280 2021-07-20 13:46:32 -07:00
dispcc-sdm845.c clk: qcom: dispcc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
dispcc-sm8250.c clk: qcom: dispcc-sm8250: use runtime PM for the clock controller 2021-10-14 17:50:48 -07: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 clk: qcom: gcc-ipq4019: Remove unused variable 'ret' 2021-02-11 11:56:05 -08: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: make pcie0_rchng_clk_src static 2020-09-22 11:34:33 -07:00
gcc-mdm9607.c clk/qcom: Remove unused variables 2021-06-27 17:04:48 -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: remove defined but not used variables 2020-09-22 11:50:23 -07:00
gcc-msm8953.c clk: qcom: Remove redundant .owner 2021-10-07 18:24:40 -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 clk: qcom: gcc: Add support for Global Clock controller found on MSM8226 2021-06-27 17:00:50 -07:00
gcc-msm8994.c clk: qcom: gcc-msm8994: Use ARRAY_SIZE() for num_parents 2021-10-13 15:20:23 -07: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: gcc-msm8998: Remove transient global "xo" clock 2021-09-14 14:40:32 -07:00
gcc-qcm2290.c clk: qcom: Add Global Clock Controller driver for QCM2290 2021-10-13 12:43:02 -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-sc7180: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:50 -07:00
gcc-sc7280.c clk: qcom: gcc-sc7280: Drop unused array 2021-10-14 12:13:06 -07:00
gcc-sc8180x.c clk: qcom: gcc-sc8180x: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:52 -07:00
gcc-sdm660.c clk: qcom: gcc-sdm660: Use ARRAY_SIZE for num_parents 2021-09-14 14:09:47 -07:00
gcc-sdm845.c clk: qcom: gcc-sdm845: get rid of the test clock 2021-04-09 12:01:22 -07:00
gcc-sdx55.c clk: qcom: gcc-sdx55: use parent_hws where possible 2021-04-07 17:22:54 -07:00
gcc-sm6115.c clk: qcom: Add Global Clock controller (GCC) driver for SM6115 2021-08-28 20:54:21 -07:00
gcc-sm6125.c clk: qcom: Add SM6125 (TRINKET) GCC driver 2021-06-27 16:53:29 -07:00
gcc-sm6350.c clk: qcom: gcc-sm6350: Remove unused variable 2021-09-03 11:14:18 -07:00
gcc-sm8150.c clk: qcom: gcc-sm8150: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:52 -07:00
gcc-sm8250.c clk: qcom: gcc-sm8250: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:52 -07:00
gcc-sm8350.c clk: qcom: gcc-sm8350: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:53 -07:00
gdsc.c clk: qcom: gdsc: enable optional power domain support 2021-10-14 17:58:14 -07:00
gdsc.h clk: qcom: gdsc: enable optional power domain support 2021-10-14 17:58:14 -07:00
gpucc-msm8998.c clk: qcom: gpucc-msm8998: Remove unnecessary fallbacks to global clocks 2021-09-14 14:40:33 -07:00
gpucc-sc7180.c clk: qcom: gpucc-sc7180: drop unused enum entries 2021-04-07 17:22:51 -07:00
gpucc-sc7280.c clk: qcom: Add graphics clock controller driver for SC7280 2021-07-20 13:46:32 -07:00
gpucc-sdm660.c clk: qcom: gpucc-sdm660: Remove fallback to global clock names 2021-09-14 14:09:48 -07:00
gpucc-sdm845.c clk: qcom: gpucc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
gpucc-sm8150.c clk: qcom: gpucc-sm8150: Add SC8180x support 2021-08-05 18:50:43 -07:00
gpucc-sm8250.c clk: qcom: gpucc-sm8250: use parent_hws where possible 2021-04-07 17:22:54 -07: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: camcc: Add camera clock controller driver for SC7280 2021-10-13 15:32:29 -07:00
kpss-xcc.c clk: qcom: kpss-xcc: Make use of the helper function devm_platform_ioremap_resource() 2021-09-14 14:39:44 -07:00
krait-cc.c
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
lpass-gfm-sm8250.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
lpasscc-sc7280.c clk: qcom: Add lpass clock controller driver for SC7280 2021-10-13 15:22:49 -07:00
lpasscc-sdm845.c clk: qcom: define probe by index API as common API 2019-08-08 08:20:01 -07:00
lpasscorecc-sc7180.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
Makefile clk: qcom: camcc: Add camera clock controller driver for SC7280 2021-10-13 15:32:29 -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: mmcc-msm8974: Remove unused static const tables 'mmcc_xo_mmpll0_1_2_gpll0{map}' 2021-02-11 11:56:06 -08:00
mmcc-msm8994.c clk: qcom: mmcc-msm8994: Add MSM8992 support 2021-08-26 11:58:17 -07:00
mmcc-msm8996.c clk: qcom: mmcc-msm8996: Migrate gfx3d clock to clk_rcg2_gfx3d 2021-02-14 12:56:54 -08:00
mmcc-msm8998.c clk: qcom: mmcc-msm8998: Remove unnecessary fallbacks to global clocks 2021-09-14 14:40:33 -07: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: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
q6sstop-qcs404.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07: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: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
videocc-sc7180.c clk: qcom: videocc-sc7180: drop unused enum entries 2021-04-07 17:22:52 -07: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: use parent_hws where possible 2021-04-07 17:22:54 -07:00
videocc-sm8250.c clk: qcom: videocc-sm8250: use runtime PM for the clock controller 2021-10-14 17:50:52 -07:00