public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: shinya.kuribayashi.px@renesas•com (Shinya Kuribayashi)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v2 2/2] ARM: delay: allow timer-based delay implementation to be selected
Date: Thu, 05 Jul 2012 21:12:14 +0900	[thread overview]
Message-ID: <4FF5849E.6060301@renesas.com> (raw)
In-Reply-To: <20120704153624.GI15104@mudshark.cambridge.arm.com>

Hi Will,

On 7/5/2012 12:36 AM, Will Deacon wrote:
>> If we use 'lpj_fine' for this, we need to skip secondary CPU calibration
>> explicitly in another way, something like this:
>>
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2011-January/039506.html
>> [PATCH 5/5] ARM: smp: Skip secondary cpu calibration to speed-up boot
> 
> How about keeping it simple like this:?
> 
> 
> diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c
> index e1030e1..84bb5da 100644
> --- a/arch/arm/lib/delay.c
> +++ b/arch/arm/lib/delay.c
> @@ -63,4 +63,9 @@ void __init init_current_timer_delay(unsigned long freq)
>         arm_delay_ops.const_udelay      = __timer_const_udelay;
>         arm_delay_ops.udelay            = __timer_udelay;
>  }
> +
> +unsigned long __cpuinit calibrate_delay_is_known(void)
> +{
> +       return lpj_fine ?: 0;
> +}
>  #endif

Thanks for the patch, looks lika a missing piece of CPU calibration
optimization for SMP platforms in the face of core frequency scaling.

Ok, I gave your patch a try (including above), and confirmed that:

* It works fine with non-arch_timer counter.  I'm using SH/R-Mobile
  devices, with a memory mapped I/O, 32-bit free-run up-counter
  running at 13MHz.

* Secondary CPU calibration gets skipped as expected.

* Your new timer-based delay works as before (loop-based one).  I've
  verified 10..1999-microsecond busy-wait with a reasonable accuracy
  (and confirmed that 2000+ usec gets rejected as intended).

By the way,

> +       return lpj_fine ?: 0;

Is there any difference with just

        return lpj_fine;

?

  reply	other threads:[~2012-07-05 12:12 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-29 17:33 [PATCH v2 0/2] Use architected timers for delay loop Will Deacon
2012-06-29 17:33 ` [PATCH v2 1/2] ARM: arch timer: implement read_current_timer and get_cycles Will Deacon
2012-07-02 19:14   ` Stephen Boyd
2012-07-05 12:35   ` Shinya Kuribayashi
2012-07-05 12:59     ` Will Deacon
2012-06-29 17:33 ` [PATCH v2 2/2] ARM: delay: allow timer-based delay implementation to be selected Will Deacon
2012-07-02 19:14   ` Stephen Boyd
2012-07-02 21:53     ` Will Deacon
2012-07-03 12:09   ` Shinya Kuribayashi
2012-07-04 15:36     ` Will Deacon
2012-07-05 12:12       ` Shinya Kuribayashi [this message]
2012-07-05 12:56         ` Will Deacon
2012-07-05 16:51           ` Stephen Boyd
2012-07-05 13:06   ` Shinya Kuribayashi
2012-07-05 14:15     ` Will Deacon
2012-07-12  7:33   ` Shinya Kuribayashi
2012-07-12  8:44     ` Will Deacon
2012-07-12  9:35       ` Shinya Kuribayashi
2012-07-12 16:40         ` Stephen Boyd
2012-07-13  2:16           ` Shinya Kuribayashi
2012-07-13  8:57             ` Will Deacon
2012-07-13 10:48               ` Shilimkar, Santosh
2012-07-13 11:13                 ` Will Deacon
2012-07-13 12:04                   ` Shilimkar, Santosh
2012-07-13 12:08                     ` Will Deacon
2012-07-13 12:14                       ` Shilimkar, Santosh
2012-07-13 12:23                         ` Will Deacon
2012-07-13 12:28                           ` Shilimkar, Santosh
2012-07-17  3:10                   ` Shinya Kuribayashi
2012-07-17  6:11                     ` Shilimkar, Santosh
2012-07-17  7:42                       ` Shinya Kuribayashi
2012-07-17  9:05                         ` Will Deacon
2012-07-19 12:43                           ` Shinya Kuribayashi
2012-07-18 17:52                         ` Will Deacon
2012-07-19 15:19                           ` Jonathan Austin
2012-07-20 10:17                             ` Will Deacon
2012-07-24  9:06                               ` Shinya Kuribayashi
2012-07-24  9:15                                 ` Will Deacon

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=4FF5849E.6060301@renesas.com \
    --to=shinya.kuribayashi.px@renesas$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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