From: Remi Pommarel <repk@triplefau.lt>
To: Eric Anholt <eric@anholt.net>
Cc: Stephen Warren <swarren@wwwdotorg.org>,
Lee Jones <lee@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>,
linux-rpi-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] clk: bcm2835: Support for clock parent selection
Date: Thu, 5 Nov 2015 19:53:36 +0100 [thread overview]
Message-ID: <20151105185336.GJ13534@cruxbox> (raw)
In-Reply-To: <87si4l2oek.fsf@eliezer.anholt.net>
Hi,
On Wed, Nov 04, 2015 at 06:03:31PM -0800, Eric Anholt wrote:
[...]
>
> It looks like you've dropped the use of the divisor off of the PLL
> channel when setting a rate. That seems bad for all the other clocks in
> the system, and a feature we couldn't lose.
Sorry, but I'm not sure to understand your point here. Are you afraid
that clocks such as PWM, H264, etc, have lost the ability to divide the
rate from the PLL or oscillator clock they cosume as source ?
If so, I think it's ok. If I'm not wrong here, clk_set_rate() first
calls clk->determinate_rate() then calls clk->set_rate(). This patch
makes bcm2835_clock_determine_source() to only select the parent to use
and does not set the clock's rate itself. The clock's rate is set later
on when bcm2835_clock_set_parent() is called.
bcm2835_clock_set_parent() still divides the parent rate so we are not
loosing this feature here.
>
> Also, you're choosing the lowest but higher rate, while
> mux_is_better_rate() chooses the highest but lower rate (which seems
> much safer). What led to that choice?
bcm2835_clock_determine_source() does not choose the rate for the clock
itself but only selects the parent to use as source that will be divided
later on. So I'm choosing a parent that has higher rate because I want
to divide this rate in bcm2835_clock_set_parent().
>
> Also, if we're going to have this function, I think it should be called
> "bcm2835_clock_determine_rate" to match the method name.
>
I have called it this way because this function only select the
parent/source to use for the PWM clock and is not really determinating
the clock's rate.
On second thought, I see that doing things this way can be confusing,
and is not a really safe way to choose a clock's rate.
It would probably be better to have bcm2835_clock_determine_source()
selects the parent by choosing the one that provides the rate which,
after being divided, generates the highest but lower rate out of the
PWM clock itself.
Moreover, if you agree with the above modification I see no reason to
not call it "bcm2835_clock_determine_rate"
Thanks
--
Remi
next prev parent reply other threads:[~2015-11-05 18:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 23:08 [PATCH 0/2] Add PWM clock support for bcm2835 Remi Pommarel
2015-11-04 23:08 ` [PATCH 1/2] clk: bcm2835: Support for clock parent selection Remi Pommarel
2015-11-05 2:03 ` Eric Anholt
2015-11-05 18:53 ` Remi Pommarel [this message]
2015-11-09 16:38 ` Eric Anholt
2015-11-04 23:08 ` [PATCH 2/2] clk: bcm2835: Add PWM clock support Remi Pommarel
2015-11-05 2:17 ` Eric Anholt
2015-11-05 18:59 ` Remi Pommarel
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=20151105185336.GJ13534@cruxbox \
--to=repk@triplefau.lt \
--cc=eric@anholt.net \
--cc=lee@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@codeaurora.org \
--cc=swarren@wwwdotorg.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