From: Rajendra Nayak <rnayak@codeaurora.org>
To: Stephen Boyd <sboyd@kernel.org>,
Michael Turquette <mturquette@baylibre.com>
Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH] clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq()
Date: Wed, 29 Jan 2020 08:51:19 +0530 [thread overview]
Message-ID: <3b8acaa8-8bc4-cc7f-51d1-2a1b4ff5374a@codeaurora.org> (raw)
In-Reply-To: <20200128193329.45635-1-sboyd@kernel.org>
On 1/29/2020 1:03 AM, Stephen Boyd wrote:
> The DFS frequency table logic overwrites 'cfg' while detecting the
> parent clk and then later on in clk_rcg2_dfs_populate_freq() we use that
> same variable to figure out the mode of the clk, either MND or not. Add
> a new variable to hold the parent clk bit so that 'cfg' is left
> untouched for use later.
>
> This fixes problems in detecting the supported frequencies for any clks
> in DFS mode.
>
> Fixes: cc4f6944d0e3 ("clk: qcom: Add support for RCG to register for DFS")
> Reported-by: Rajendra Nayak <rnayak@codeaurora.org>
> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
> ---
Tested-by: Rajendra Nayak <rnayak@codeaurora.org>
> drivers/clk/qcom/clk-rcg2.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c
> index da045b200def..973ecf4f6bc5 100644
> --- a/drivers/clk/qcom/clk-rcg2.c
> +++ b/drivers/clk/qcom/clk-rcg2.c
> @@ -953,7 +953,7 @@ static void clk_rcg2_dfs_populate_freq(struct clk_hw *hw, unsigned int l,
> struct clk_rcg2 *rcg = to_clk_rcg2(hw);
> struct clk_hw *p;
> unsigned long prate = 0;
> - u32 val, mask, cfg, mode;
> + u32 val, mask, cfg, mode, src;
> int i, num_parents;
>
> regmap_read(rcg->clkr.regmap, rcg->cmd_rcgr + SE_PERF_DFSR(l), &cfg);
> @@ -963,12 +963,12 @@ static void clk_rcg2_dfs_populate_freq(struct clk_hw *hw, unsigned int l,
> if (cfg & mask)
> f->pre_div = cfg & mask;
>
> - cfg &= CFG_SRC_SEL_MASK;
> - cfg >>= CFG_SRC_SEL_SHIFT;
> + src = cfg & CFG_SRC_SEL_MASK;
> + src >>= CFG_SRC_SEL_SHIFT;
>
> num_parents = clk_hw_get_num_parents(hw);
> for (i = 0; i < num_parents; i++) {
> - if (cfg == rcg->parent_map[i].cfg) {
> + if (src == rcg->parent_map[i].cfg) {
> f->src = rcg->parent_map[i].src;
> p = clk_hw_get_parent_by_index(&rcg->clkr.hw, i);
> prate = clk_hw_get_rate(p);
>
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
next prev parent reply other threads:[~2020-01-29 3:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-28 19:33 [PATCH] clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq() Stephen Boyd
2020-01-29 3:21 ` Rajendra Nayak [this message]
2020-02-03 19:19 ` Stephen Boyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3b8acaa8-8bc4-cc7f-51d1-2a1b4ff5374a@codeaurora.org \
--to=rnayak@codeaurora.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).