From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] ARM: delay: allow timer-based delay implementation to be selected
Date: Thu, 12 Jul 2012 09:40:03 -0700 [thread overview]
Message-ID: <4FFEFDE3.5000403@codeaurora.org> (raw)
In-Reply-To: <4FFE9A69.3060301@renesas.com>
On 07/12/12 02:35, Shinya Kuribayashi wrote:
> On 7/12/2012 5:44 PM, Will Deacon wrote:
>>> On 6/30/2012 2:33 AM, Will Deacon wrote:
>>>> +void __init init_current_timer_delay(unsigned long freq)
>>>> +{
>>>> + pr_info("Switching to timer-based delay loop\n");
>>>> + lpj_fine = freq / HZ;
>>>> + arm_delay_ops.delay = __timer_delay;
>>>> + arm_delay_ops.const_udelay = __timer_const_udelay;
>>>> + arm_delay_ops.udelay = __timer_udelay;
>>>> +}
>>> Once this function is processed, the udelay() behavior changes
>>> _immediately_ from loop-based delay to timer-based one, without waiting
>>> for 'loops_per_jiffy' itself being corrected in calibrate_delay().
>>>
>>> As a result, actual udelay()s may be toooo long than expected, in
>>> particular udelay()s used between init_current_timer_delay() and
>>> calibrate_delay(). It's unlikely be short, as the frequency of a
>>> counter for read_current_timer is typically slower than CPU frequency.
>> Surely using udelay before calibrate_delay_loop has been called is a
>> fundamental error?
> Got it. I'm just not confident about disallowing early use of udelay().
>
>
I don't think it's an error. Instead you get a very large delay, similar
to what would happen if you called udelay() before calibrate_delay()
anyway (see the comment in init/main.c above loops_per_jiffy).
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2012-07-12 16:40 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
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 [this message]
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=4FFEFDE3.5000403@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).