linux/drivers/clk/qcom
Dmitry Baryshkov b6157a9f0f clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling
[ Upstream commit 1a500e0bc9 ]

On SM8350 platform the PCIe PIPE clocks require additional handling to
function correctly. They are to be switched to the tcxo source before
turning PCIe GDSCs off and should be switched to PHY PIPE source once
they are working. Switch PCIe PHY clocks to use clk_regmap_phy_mux_ops,
which provide support for this dance.

Fixes: 44c20c9ed3 ("clk: qcom: gcc: Add clock driver for SM8350")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230412134829.3686467-1-dmitry.baryshkov@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-05-11 23:00:36 +09: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: Add MSM8939 a53pll support 2021-08-05 18:52:11 -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-ipq-pll.c clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE 2021-04-09 11:20:53 -07:00
apss-ipq6018.c clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical 2022-10-26 12:35:16 +02: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-sdm845.c clk: qcom: camcc-sdm845: Fix topology around titan_top power domain 2022-08-17 14:23:47 +02:00
camcc-sm8250.c clk: qcom: camcc-sm8250: Fix topology around titan_top power domain 2022-08-17 14:23:47 +02:00
clk-alpha-pll.c clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description 2022-08-25 11:40:34 +02: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: 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: clk-krait: fix wrong div2 functions 2022-12-31 13:14:15 +01: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: Stop hardcoding gfx3d pingpong parent numbers 2021-02-14 12:56:54 -08:00
clk-rcg2.c clk: qcom: clk-rcg2: Make sure to not write d=0 to the NMD register 2022-08-17 14:23:47 +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 clk: qcom: regmap-mux: fix parent clock lookup 2021-12-14 10:57:14 +01:00
clk-regmap-mux.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-regmap-phy-mux.c clk: qcom: regmap: add PHY clock source implementation 2023-05-11 23:00:36 +09:00
clk-regmap-phy-mux.h clk: qcom: regmap: add PHY clock source implementation 2023-05-11 23:00:36 +09: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 Nothing changed in the clk framework core this time around. We did get 2021-09-02 14:17: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: regmap-mux: fix parent clock lookup 2021-12-14 10:57:14 +01:00
common.h clk: qcom: regmap-mux: fix parent clock lookup 2021-12-14 10:57:14 +01:00
dispcc-sc7180.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-03-16 14:23:35 +01:00
dispcc-sc7280.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-03-16 14:23:35 +01: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: Update the transition delay for MDSS GDSC 2022-03-16 14:23:35 +01: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: dont disable gcc_sleep_clk_src 2022-08-25 11:40:33 +02: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: Fix weird field spacing in ftbl_gcc_camss_cci_clk 2022-08-17 14:23:55 +02:00
gcc-msm8953.c clk: qcom: Add Global Clock Controller driver for MSM8953 2021-08-26 11:54:44 -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: Fix gpll4 width 2022-04-08 14:23:51 +02:00
gcc-msm8996.c clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk 2021-11-25 09:48:32 +01: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: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:50 -07:00
gcc-sc7280.c clk: qcom: Update the force mem core bit for GPU clocks 2022-11-10 18:15:35 +01: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: Replace usage of parent_names 2021-08-26 11:51:11 -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: gcc-sm6115: Mark RCGs shared where applicable 2023-05-11 23:00:36 +09:00
gcc-sm6125.c clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1 2021-12-17 10:30:13 +01: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 retention mode for USB GDSCs 2022-12-31 13:14:09 +01:00
gcc-sm8350.c clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling 2023-05-11 23:00:36 +09:00
gdsc.c clk: qcom: gdsc: Add support to update GDSC transition delay 2022-03-16 14:23:35 +01:00
gdsc.h clk: qcom: gdsc: Add support to update GDSC transition delay 2022-03-16 14:23:35 +01:00
gpucc-msm8998.c clk: qcom: gpucc-msm8998: Allow fabia gpupll0 rate setting 2021-02-14 12:56:54 -08: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: Update the force mem core bit for GPU clocks 2022-11-10 18:15:35 +01:00
gpucc-sdm660.c clk: qcom: Add SDM660 GPU Clock Controller (GPUCC) driver 2021-02-14 12:56:54 -08: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: sm6115: Select QCOM_GDSC 2022-10-26 12:35:09 +02: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: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -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: lpass-sc7180: Fix pm_runtime usage 2022-12-31 13:14:15 +01:00
Makefile clk: qcom: regmap: add PHY clock source implementation 2023-05-11 23:00:36 +09: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: Set bimc_smmu_gdsc always on 2021-02-08 10:24:34 -08:00
mmcc-sdm660.c clk: qcom: Add SDM660 Multimedia Clock Controller (MMCC) driver 2021-02-14 12:56:54 -08: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 parent_hws where possible 2021-04-07 17:22:54 -07:00