linux-stable/drivers/clk/qcom
Dmitry Baryshkov d968fda3de clk: qcom: clk-rcg2: fix gfx3d frequency calculation
Since the commit 948fb0969e ("clk: Always clamp the rounded rate"),
the clk_core_determine_round_nolock() would clamp the requested rate
between min and max rates from the rate request. Normally these fields
would be filled by clk_core_get_boundaries() called from
clk_round_rate().

However clk_gfx3d_determine_rate() uses a manually crafted rate request,
which did not have these fields filled. Thus the requested frequency
would be clamped to 0, resulting in weird frequencies being requested
from the hardware.

Fix this by filling min_rate and max_rate to the values valid for the
respective PLLs (0 and ULONG_MAX).

Fixes: 948fb0969e ("clk: Always clamp the rounded rate")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20220419235447.1586192-1-dmitry.baryshkov@linaro.org
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reported-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2022-04-21 19:49:19 -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-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: Fix return value check in apss_ipq6018_probe() 2020-06-29 14:15:34 -07:00
camcc-sc7180.c clk: qcom: camcc-sc7180: use parent_hws instead of parent_data 2022-02-10 18:33:30 -06: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 clk: qcom: camcc-sdm845: convert to parent_hws/_data 2022-02-10 18:33:31 -06:00
camcc-sm8250.c clk: qcom: Add camera clock controller driver for SM8250 2021-06-27 17:19:22 -07:00
clk-alpha-pll.c We have a couple patches in the framework core this time around but 2022-01-12 17:02:27 -08:00
clk-alpha-pll.h clk: qcom: Add LUCID_EVO PLL type for SDX65 2021-12-16 13:17:22 -06: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-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-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: clk-rcg: add clk_rcg_floor_ops ops 2022-03-08 16:19:31 -06:00
clk-rcg2.c clk: qcom: clk-rcg2: fix gfx3d frequency calculation 2022-04-21 19:49:19 -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 clk: qcom: regmap-mux: fix parent clock lookup 2021-12-02 15:07:34 -08: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: rpmhcc: add sc8280xp support to the RPMh clock controller 2022-02-24 21:43:21 -06:00
clk-smd-rpm.c clk: qcom: smd: Add missing MSM8998 RPM clocks 2022-03-09 08:53:29 -06: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-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: qcom: Add display clock controller driver for QCM2290 2022-02-10 17:56:10 -06:00
dispcc-sc7180.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -08:00
dispcc-sc7280.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -08:00
dispcc-sdm845.c clk: qcom: dispcc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
dispcc-sm6125.c clk: qcom: Add display clock controller driver for SM6125 2022-03-09 08:53:30 -06:00
dispcc-sm6350.c clk: qcom: Add display clock controller driver for SM6350 2022-03-08 16:16:47 -06:00
dispcc-sm8250.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -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 clk: qcom: gcc-ipq806x: add CryptoEngine resets 2022-03-08 16:19:31 -06: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: Use floor ops for SDCC1 clock 2022-02-24 13:54:17 -06: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-msm8976.c clk: qcom: Add MSM8976/56 Global Clock Controller (GCC) driver 2021-12-16 13:17:23 -06:00
gcc-msm8994.c There's one large change in the core clk framework here. We change how 2022-03-30 10:11:04 -07:00
gcc-msm8996.c clk: qcom: gcc-msm8996: start getting rid of xo clk 2022-02-10 18:33:31 -06: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: Mark gcc_cfg_noc_lpass_clk always enabled 2022-01-05 16:04:07 -08: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-sdx65.c clk: qcom: Add SDX65 GCC support 2021-12-16 13:17:22 -06:00
gcc-sm6115.c clk: qcom: gcc-sm6115: Fix offset for hlos1_vote_turing_mmu_tbu0_gdsc 2021-10-13 10:43:39 -07:00
gcc-sm6125.c clk: qcom: sm6125-gcc: fix typos in comments 2022-03-15 15:48:38 -07:00
gcc-sm6350.c clk: qcom: gcc-sm6350: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
gcc-sm8150.c clk: qcom: gcc: Add emac GDSC support for SM8150 2022-03-09 08:53:29 -06: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: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
gcc-sm8450.c clk: qcom: Add clock driver for SM8450 2021-12-16 13:17:22 -06:00
gdsc.c clk: qcom: gdsc: Add support to update GDSC transition delay 2022-02-24 16:11:42 -08:00
gdsc.h clk: qcom: gdsc: Add support to update GDSC transition delay 2022-02-24 16:11:42 -08: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: use parent_hws instead of parent_data 2022-02-10 18:33:30 -06:00
gpucc-sdm845.c clk: qcom: gpucc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
gpucc-sm6350.c clk: qcom: Add GPU clock controller driver for SM6350 2022-03-08 16:16:47 -06: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: Add display clock controller driver for SM6125 2022-03-09 08:53:30 -06:00
kpss-xcc.c clk: qcom: Declare mux table as const u32[] 2022-02-25 16:41:39 -08: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: lpasscc-sc7280: explicitly include clk-provider.h 2021-12-20 23:14:50 -06: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: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
Makefile clk: qcom: Add display clock controller driver for SM6125 2022-03-09 08:53:30 -06:00
mmcc-apq8084.c clk: qcom: mmcc-apq8084: explicitly include clk-provider.h 2021-12-20 23:14:50 -06: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: Add MSM8226 Multimedia Clock Controller support 2022-02-10 18:36:08 -06: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: q6sstop-qcs404: explicitly include clk-provider.h 2021-12-20 23:14:50 -06: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: turingcc-qcs404: explicitly include clk-provider.h 2021-12-20 23:14:50 -06: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: 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