linux/drivers/clk/qcom
Archit Taneja aa890c3282 clk: qcom: fix RCG M/N counter configuration
commit 0b21503dbb upstream.

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-05-06 21:59:18 +02: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 phase locked loops (PLLs) 2014-01-16 12:00:59 -08:00
clk-pll.h clk: qcom: Add support for phase locked loops (PLLs) 2014-01-16 12:00:59 -08:00
clk-rcg.c clk: qcom: Add support for root clock generators (RCGs) 2014-01-16 12:01:00 -08:00
clk-rcg.h clk: qcom: Add support for root clock generators (RCGs) 2014-01-16 12:01:00 -08:00
clk-rcg2.c clk: qcom: fix RCG M/N counter configuration 2015-05-06 21:59:18 +02: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
gcc-msm8660.c clk: qcom: Add support for MSM8660's global clock controller (GCC) 2014-01-16 12:01:05 -08:00
gcc-msm8960.c clk: qcom: Add support for MSM8960's global clock controller (GCC) 2014-01-16 12:01:02 -08:00
gcc-msm8974.c clk: qcom: Add support for MSM8974's global clock controller (GCC) 2014-01-16 12:01:04 -08:00
Kconfig clk: qcom: Add support for MSM8660's global clock controller (GCC) 2014-01-16 12:01:05 -08:00
Makefile clk: qcom: Fix modular build 2014-01-17 13:39:42 -08:00
mmcc-msm8960.c clk: qcom: mdp_lut_clk is a child of mdp_src 2014-10-05 14:52:24 -07:00
mmcc-msm8974.c clk: qcom: Fix mmcc-8974's PLL configurations 2014-07-09 11:18:28 -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