linux/drivers/clk/qcom
Archit Taneja 5ec6388f8e clk: qcom: fix RCG M/N counter configuration
[ Upstream commit 0b21503dbb ]

Currently, a RCG's M/N counter (used for fraction division) is
set to either 'bypass' (counter disabled) or 'dual edge' (counter
enabled) based on whether the corresponding rcg struct has a mnd
field specified and a non-zero N.

In the case where M and N are the same value, the M/N counter is
still enabled by code even though no division takes place.
Leaving the RCG in such a state can result in improper behavior.
This was observed with the DSI pixel clock RCG when M and N were
both set to 1.

Add an additional check (M != N) to enable the M/N counter only
when it's needed for fraction division.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Fixes: bcd61c0f53 (clk: qcom: Add support for root clock
generators (RCGs))
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-05-17 19:12:19 -04:00
..
clk-branch.c clk: qcom: Add support for branches/gate clocks 2014-01-16 12:01:01 -08:00
clk-branch.h clk: qcom: Add support for branches/gate clocks 2014-01-16 12:01:01 -08:00
clk-pll.c clk: qcom: Add support for setting rates on PLLs 2014-09-22 15:16:53 -07:00
clk-pll.h clk: qcom: Add support for setting rates on PLLs 2014-09-22 15:16:53 -07:00
clk-rcg.c clk: qcom: Add support for banked MD RCGs 2014-09-22 15:16:54 -07:00
clk-rcg.h clk: qcom: Add support for banked MD RCGs 2014-09-22 15:16:54 -07:00
clk-rcg2.c clk: qcom: fix RCG M/N counter configuration 2015-05-17 19:12:19 -04:00
clk-regmap.c clk: qcom: Add a regmap type clock struct 2014-01-16 12:00:58 -08:00
clk-regmap.h clk: qcom: Add a regmap type clock struct 2014-01-16 12:00:58 -08:00
common.c clk: qcom: Consolidate frequency finding logic 2014-09-22 15:16:52 -07:00
common.h clk: qcom: Consolidate frequency finding logic 2014-09-22 15:16:52 -07:00
gcc-apq8084.c clk: qcom: Add APQ8084 clocks for SATA, PCIe and UFS 2014-07-11 13:23:33 -07:00
gcc-ipq806x.c clk: qcom: Fix i2c frequency table 2015-05-17 19:12:19 -04:00
gcc-msm8660.c clk: qcom: Fix msm8660 GCC probe 2014-05-16 16:53:07 -07:00
gcc-msm8960.c clk: qcom: Fully support apq8064 global clock control 2014-07-11 13:21:22 -07:00
gcc-msm8974.c clk: qcom: Support msm8974pro global clock control hardware 2014-05-29 09:30:24 -07:00
Kconfig clk: qcom: Add support for IPQ8064's global clock controller (GCC) 2014-07-15 16:38:58 -07:00
Makefile clk: qcom: Add support for IPQ8064's global clock controller (GCC) 2014-07-15 16:38:58 -07:00
mmcc-apq8084.c clk: qcom: Fix duplicate rbcpr clock name 2014-11-17 10:40:42 -08:00
mmcc-msm8960.c qcom clock changes for 3.18 2014-09-26 16:10:57 -07:00
mmcc-msm8974.c clk: Remove .owner field for driver 2014-09-25 17:43:31 -07:00
reset.c clk: qcom: Add reset controller support 2014-01-16 12:01:02 -08:00
reset.h clk: qcom: Add reset controller support 2014-01-16 12:01:02 -08:00