linux/drivers/clk/qcom
AngeloGioacchino Del Regno a59c16c80b clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc
The GPU GX GDSC has GPU_GX_BCR reset and gfx3d_clk CXC, as stated
on downstream kernels (and as verified upstream, because otherwise
random lockups happen).
Also, add PWRSTS_RET and NO_RET_PERIPH: also as found downstream,
and also as verified here, to avoid GPU related lockups it is
necessary to force retain mem, but *not* peripheral when enabling
this GDSC (and, of course, the inverse on disablement).

With this change, the GPU finally works flawlessly on my four
different MSM8998 devices from two different manufacturers.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210114221059.483390-11-angelogioacchino.delregno@somainline.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2021-02-14 12:56:54 -08:00
..
a7-pll.c clk: qcom: Add A7 PLL support 2021-02-08 09:46:23 -08:00
a53-pll.c
apcs-msm8916.c clk: qcom: apcs-msm8916: use clk_parent_data to specify the parent 2020-01-04 23:15:47 -08:00
apcs-sdx55.c clk: qcom: Add SDX55 APCS clock controller support 2021-02-08 09:46:23 -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-sc7180.c clk: qcom: camcc-sc7180: Use runtime PM ops instead of clk ones 2020-11-14 11:33:33 -08: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 Lucid 5LPE PLL 2021-02-08 10:03:57 -08:00
clk-alpha-pll.h clk: qcom: clk-alpha-pll: Add support for Lucid 5LPE PLL 2021-02-08 10:03:57 -08: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: dispcc: Update DP clk ops for phy design 2020-09-22 11:51:08 -07: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: 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: define to_clk_regmap() as inline function 2020-10-28 16:34:44 -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: rpmhcc: Add sc8180x rpmh clocks 2021-02-08 09:52:20 -08: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: Update DP clk ops for phy design 2020-09-22 11:51:08 -07:00
dispcc-sdm845.c clk: qcom: dispcc: Add support for display port clocks 2019-12-18 21:24:13 -08:00
dispcc-sm8250.c clk: qcom: dispcc-sm8250: handle MMCX power domain 2020-11-14 13:11:44 -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: make pcie0_rchng_clk_src static 2020-09-22 11:34:33 -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-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 clk: qcom: gcc-msm8994: Add missing clocks, resets and GDSCs 2020-10-13 18:04:36 -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: Fix Alpha PLL type for all GPLLs 2021-02-08 10:17:49 -08: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: Mark the MM XO clocks to be always ON 2021-02-08 09:53:30 -08:00
gcc-sc8180x.c clk: qcom: gcc: Add global clock controller driver for SC8180x 2021-02-08 09:59:46 -08:00
gcc-sdm660.c clk: qcom: gcc-sdm660: Fix wrong parent_map 2020-09-22 12:06:19 -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-sdx55.c clk: qcom: Add GDSC support for SDX55 GCC 2020-12-07 17:00:14 -08:00
gcc-sm8150.c clk: qcom: gcc: remove unnecessary vco_table from SM8150 2020-07-24 01:51:14 -07:00
gcc-sm8250.c clk: qcom: gcc: Add global clock controller driver for SM8250 2020-03-09 15:14:57 -07:00
gcc-sm8350.c clk: qcom: gcc: Add clock driver for SM8350 2021-02-08 10:03:57 -08:00
gdsc.c clk: qcom: gdsc: Implement NO_RET_PERIPH flag 2021-02-14 12:56:54 -08:00
gdsc.h clk: qcom: gdsc: Implement NO_RET_PERIPH flag 2021-02-14 12:56:54 -08:00
gpucc-msm8998.c clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc 2021-02-14 12:56:54 -08:00
gpucc-sc7180.c clk: qcom: add common gdsc_gx_do_nothing_enable for gpucc drivers 2020-07-24 01:51:26 -07:00
gpucc-sdm845.c clk: qcom: add common gdsc_gx_do_nothing_enable for gpucc drivers 2020-07-24 01:51:26 -07:00
gpucc-sm8150.c clk: qcom: Add graphics clock controller driver for SM8150 2020-07-24 01:51:29 -07:00
gpucc-sm8250.c clk: qcom: Add graphics clock controller driver for SM8250 2020-07-24 01:51:32 -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: gcc: Add clock driver for SM8350 2021-02-08 10:03:57 -08: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
lpass-gfm-sm8250.c clk: qcom: gfm-mux: fix clk mask 2021-02-08 09:50:46 -08: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: lpasscc: Introduce pm autosuspend for SC7180 2020-12-10 12:29:21 -08:00
Makefile clk: qcom: gcc: Add clock driver for SM8350 2021-02-08 10:03:57 -08: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: mmcc-msm8998: Set bimc_smmu_gdsc always on 2021-02-08 10:24:34 -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
videocc-sm8150.c clk: qcom: add video clock controller driver for SM8150 2020-10-13 18:05:04 -07:00
videocc-sm8250.c clk: qcom: videocc: Add gdsc mmcx-reg supply hook 2021-02-08 10:12:29 -08:00