[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cafa8c7a-9c7c-51ba-5566-0cfe1fe6f764@linaro.org>
Date: Thu, 19 Jan 2017 16:02:28 +0800
From: Hanjun Guo <hanjun.guo@...aro.org>
To: fu.wei@...aro.org, rjw@...ysocki.net, lenb@...nel.org,
daniel.lezcano@...aro.org, tglx@...utronix.de,
marc.zyngier@....com, mark.rutland@....com,
lorenzo.pieralisi@....com, sudeep.holla@....com
Cc: linux-arm-kernel@...ts.infradead.org, linaro-acpi@...ts.linaro.org,
linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
rruigrok@...eaurora.org, harba@...eaurora.org, cov@...eaurora.org,
timur@...eaurora.org, graeme.gregory@...aro.org,
al.stone@...aro.org, jcm@...hat.com, wei@...hat.com, arnd@...db.de,
catalin.marinas@....com, will.deacon@....com,
Suravee.Suthikulpanit@....com, leo.duran@....com, wim@...ana.be,
linux@...ck-us.net, linux-watchdog@...r.kernel.org,
tn@...ihalf.com, christoffer.dall@...aro.org, julien.grall@....com
Subject: Re: [PATCH v20 08/17] clocksource/drivers/arm_arch_timer: Rework
counter frequency detection.
Hi Fuwei,
One comments below.
On 2017/1/18 21:25, fu.wei@...aro.org wrote:
> From: Fu Wei <fu.wei@...aro.org>
>
> The counter frequency detection call(arch_timer_detect_rate) combines two
> ways to get counter frequency: system coprocessor register and MMIO timer.
> But in a specific timer init code, we only need one way to try:
> getting frequency from MMIO timer register will be needed only when we
> init MMIO timer; getting frequency from system coprocessor register will
> be needed only when we init arch timer.
>
> This patch separates paths to determine frequency:
> Separate out the MMIO frequency and the sysreg frequency detection call,
> and use the appropriate one for the counter.
>
> Signed-off-by: Fu Wei <fu.wei@...aro.org>
> ---
> drivers/clocksource/arm_arch_timer.c | 40 ++++++++++++++++++++++--------------
> 1 file changed, 25 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
> index 6484f84..9482481 100644
> --- a/drivers/clocksource/arm_arch_timer.c
> +++ b/drivers/clocksource/arm_arch_timer.c
> @@ -488,23 +488,33 @@ static int arch_timer_starting_cpu(unsigned int cpu)
> return 0;
> }
>
> -static void arch_timer_detect_rate(void __iomem *cntbase)
> +static void __arch_timer_determine_rate(u32 rate)
> {
> - /* Who has more than one independent system counter? */
> - if (arch_timer_rate)
> - return;
> + /* Check the timer frequency. */
> + if (!arch_timer_rate) {
> + if (rate)
> + arch_timer_rate = rate;
> + else
> + pr_warn("frequency not available\n");
> + } else if (rate && arch_timer_rate != rate) {
^
Typo? I think it's "&" here.
Thanks
Hanjun
Powered by blists - more mailing lists