linux/drivers/clk/qcom
Taniya Das cc4f6944d0 clk: qcom: Add support for RCG to register for DFS
Dynamic Frequency switch is a feature of clock controller by which request
from peripherals allows automatic switching frequency of input clock
without SW intervention. There are various performance levels associated
with a root clock. When the input performance state changes, the source
clocks and division ratios of the new performance state are loaded on to
RCG via HW and the RCG switches to new clock frequency when the RCG is in
DFS HW enabled mode.

Register the root clock generators(RCG) to switch to use the dfs clock ops
in the cases where DFS is enabled. The clk_round_rate() called by the clock
consumer would invoke the dfs determine clock ops and would read the DFS
performance level registers to identify all the frequencies supported and
update the frequency table. The DFS clock consumers would maintain these
frequency mapping and request the desired performance levels.

Signed-off-by: Taniya Das <tdas@codeaurora.org>
[sboyd@kernel.org: Rework registration logic to stop copying, change
recalc_rate() to index directly into the table if possible and fallback
to calculating on the fly with an assumed correct parent]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2018-08-27 13:36:25 -07:00
..
a53-pll.c clk: qcom: Add A53 PLL support 2018-01-02 10:00:24 -08:00
apcs-msm8916.c clk: qcom: msm8916: Fix return value check in qcom_apcs_msm8916_clk_probe() 2018-03-12 15:14:24 -07:00
clk-alpha-pll.c clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
clk-alpha-pll.h clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
clk-branch.c clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
clk-branch.h clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
clk-pll.c clk: qcom: Enable FSM mode for votable alpha PLLs 2016-11-01 18:39:17 -07:00
clk-pll.h clk: qcom: Add support for SR2 PLLs 2015-07-07 17:19:58 -07:00
clk-rcg2.c clk: qcom: Add support for RCG to register for DFS 2018-08-27 13:36:25 -07:00
clk-rcg.c clk: qcom: Fix pre-divider usage for pixel RCG 2016-02-29 12:57:06 -08:00
clk-rcg.h clk: qcom: Add support for RCG to register for DFS 2018-08-27 13:36:25 -07:00
clk-regmap-divider.c clk: qcom: use divider_ro_round_rate helper 2018-03-12 15:10:27 -07:00
clk-regmap-divider.h clk: qcom: add read-only divider operations 2017-12-21 16:03:19 -08: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: Add regmap mux-div clocks support 2018-01-02 10:00:24 -08:00
clk-regmap-mux.c clk: qcom: add parent map for regmap mux 2017-12-21 16:03:22 -08:00
clk-regmap-mux.h clk: qcom: add parent map for regmap mux 2017-12-21 16:03:22 -08: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: rpmcc: Add support to XO buffered clocks 2018-03-19 14:40:26 -07:00
clk-rpmh.c clk: qcom: clk-rpmh: Add QCOM RPMh clock driver 2018-07-16 10:25:04 -07:00
clk-smd-rpm.c clk: qcom: smd-rpm: Migrate to devm_of_clk_add_hw_provider() 2018-03-16 15:52:39 -07:00
clk-spmi-pmic-div.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
common.c clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
common.h clk: qcom: Update SPDX headers for common files 2018-07-25 09:23:33 -07:00
dispcc-sdm845.c clk: qcom: Add display clock controller driver for SDM845 2018-08-01 08:08:12 -07:00
gcc-apq8084.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-ipq806x.c clk: qcom: drop CLK_SET_RATE_GATE from sdc clocks 2018-06-19 10:02:28 -07:00
gcc-ipq4019.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-ipq8074.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-mdm9615.c clk: qcom: drop CLK_SET_RATE_GATE from sdc clocks 2018-06-19 10:02:28 -07:00
gcc-msm8660.c clk: qcom: drop CLK_SET_RATE_GATE from sdc clocks 2018-06-19 10:02:28 -07:00
gcc-msm8916.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-msm8960.c clk: qcom: drop CLK_SET_RATE_GATE from sdc clocks 2018-06-19 10:02:28 -07:00
gcc-msm8974.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-msm8994.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-msm8996.c The new and exciting feature this time around is in the clk core. 2018-08-15 21:41:21 -07:00
gcc-msm8998.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
gcc-sdm845.c Merge branches 'clk-actions-s700', 'clk-exynos-unused', 'clk-qcom-dispcc-845', 'clk-scmi-round' and 'clk-cs2000-spdx' into clk-next 2018-08-14 23:00:15 -07:00
gdsc.c Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
gdsc.h Merge branch 'clk-qcom-sdm845' into clk-next 2018-06-04 12:34:51 -07:00
Kconfig Merge branches 'clk-actions-s700', 'clk-exynos-unused', 'clk-qcom-dispcc-845', 'clk-scmi-round' and 'clk-cs2000-spdx' into clk-next 2018-08-14 23:00:15 -07:00
lcc-ipq806x.c clk: qcom: lcc-ipq806x: Fixup overriding val in regmap_read call 2016-11-01 17:44:09 -07:00
lcc-mdm9615.c clk: mdm9615: Add support for MDM9615 Clock Controllers 2016-08-15 15:51:21 -07:00
lcc-msm8960.c Revert "clk: qcom: Specify LE device endianness" 2016-02-12 14:24:24 -08:00
Makefile Merge branches 'clk-actions-s700', 'clk-exynos-unused', 'clk-qcom-dispcc-845', 'clk-scmi-round' and 'clk-cs2000-spdx' into clk-next 2018-08-14 23:00:15 -07:00
mmcc-apq8084.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
mmcc-msm8960.c clk: qcom: Remove CLK_IS_ROOT 2016-03-04 12:53:53 -08:00
mmcc-msm8974.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00
mmcc-msm8996.c The new and exciting feature this time around is in the clk core. 2018-08-15 21:41:21 -07:00
reset.c clk: qcom: Make reset_control_ops const 2016-03-29 16:30:26 -07:00
reset.h clk: qcom: Make reset_control_ops const 2016-03-29 16:30:26 -07:00
videocc-sdm845.c clk: qcom: Move frequency table macro to common file 2018-07-06 16:45:51 -07:00