From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 4/9] clk: rockchip: add new clock type and controller for rk3036
Date: Tue, 22 Sep 2015 16:19:00 -0700 [thread overview]
Message-ID: <20150922231900.GL23081@codeaurora.org> (raw)
In-Reply-To: <2850967.rjRj3AZerS@diego>
On 09/23, Heiko St?bner wrote:
> Hi Stephen,
>
> Am Dienstag, 22. September 2015, 15:41:25 schrieb Stephen Boyd:
> > On 09/17, Xing Zheng wrote:
> > > +
> > > +static void rockchip_rk3036_pll_init(struct clk_hw *hw)
> >
> > init ops are "discouraged". Could we do this through assigned
> > rates instead?
>
> really? According to Mike that was a valid use-case when we looked for an
> initial place for that on the rk3288 :-) .
A comment in clk.c indicates init ops are discouraged. Maybe this
is a valid use-case on other platforms so it was allowed, but
pretty much every time we see a new init op we have to think
about it and justify it. Hooray!
>
>
> > > +{
> > > + struct rockchip_clk_pll *pll = to_rockchip_clk_pll(hw);
> > > + const struct rockchip_pll_rate_table *rate;
> > > + unsigned int fbdiv, postdiv1, refdiv, postdiv2, dsmpd, frac;
> > > + unsigned long drate;
> > > + u32 pllcon;
> > > +
> > > + if (!(pll->flags & ROCKCHIP_PLL_SYNC_RATE))
> > > + return;
> >
> > I don't understand what this one does though. This check isn't in
> > the set rate ops.
>
> And it shouldn't be :-)
>
> The issue this whole thing is trying to solve is aligning the pll settings
> which what we have in the rate table, not what the bootloader set.
>
> For example the bootloader could set up a pll at 594MHz with one set of
> parameters and after some time - when you don't want to exchange bootloaders
> on shipping devices anymore - it comes to light that a different set of
> parameters for the same frequency produces for example a more stable hdmi
> signal [I think that was the main reason for the initial change].
>
> So we're not changing the frequency x -> y, which could be easily done [and is
> done already] via assigned-rates, but instead
> x {params a,b,c} -> x {params d,e,f}
> so the rate itself stays the same, only the frequency generation is adapted.
Ok. It would be nice if this sort of information was made into a
comment and put in the code. Or at least the commit text for the
change.
And is there any reason that we need to get the parent clock and
parent rate to align the PLL settings? It would be nice if we
avoided using clk_* APIs in here, by extracting the pll set rate
code into another function that we can call from init to make the
values the same without all the fallback to old rates, etc.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2015-09-22 23:19 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-17 8:28 [PATCH v2 0/9] Build and support rk3036 SoC platform Xing Zheng
2015-09-17 8:28 ` [PATCH v2 1/9] ARM: dts: rockchip: add core rk3036 dts Xing Zheng
2015-09-17 9:18 ` Heiko Stübner
2015-09-24 2:18 ` Xing Zheng
2015-09-17 8:28 ` [PATCH v2 3/9] clk: rockchip: add clock controller for rk3036 Xing Zheng
2015-09-17 9:47 ` Heiko Stübner
2015-09-24 3:04 ` Xing Zheng
2015-09-24 3:31 ` Xing Zheng
2015-10-07 10:24 ` Heiko Stuebner
2015-09-17 8:28 ` [PATCH v2 4/9] clk: rockchip: add new clock type and " Xing Zheng
2015-09-17 9:54 ` Heiko Stübner
2015-09-22 22:41 ` Stephen Boyd
2015-09-22 22:58 ` Heiko Stübner
2015-09-22 23:19 ` Stephen Boyd [this message]
2015-09-30 23:32 ` Heiko Stübner
2015-10-01 0:51 ` Stephen Boyd
2015-09-17 9:59 ` [PATCH v2 0/9] Build and support rk3036 SoC platform Heiko Stübner
2015-09-17 10:32 ` [PATCH v2 5/9] dt-bindings: add documentation of rk3036 clock controller Xing Zheng
2015-09-17 15:09 ` Heiko Stübner
2015-09-24 3:42 ` Xing Zheng
2015-09-17 10:34 ` [PATCH v2 6/9] pinctrl: rockchip: add support for the rk3036 Xing Zheng
2015-09-17 12:47 ` Heiko Stübner
2015-09-17 10:37 ` [PATCH v2 7/9] rockchip: make sure timer5 is enabled on rk3036 platforms Xing Zheng
2015-09-17 15:05 ` Heiko Stübner
2015-09-28 12:25 ` Xing Zheng
2015-09-28 12:44 ` Heiko Stübner
2015-09-28 12:53 ` Xing Zheng
2015-09-17 10:38 ` [PATCH v2 8/9] ARM: rockchip: add support smp for rk3036 Xing Zheng
2015-09-17 20:15 ` Heiko Stübner
2015-09-28 11:50 ` Xing Zheng
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=20150922231900.GL23081@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.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).