All of lore.kernel.org
 help / color / mirror / Atom feed
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3] clocksource/drivers/dw_apb_timer_of: Implement ARM delay timer
Date: Fri, 6 Nov 2015 10:07:59 +0100	[thread overview]
Message-ID: <563C6DEF.2040905@linaro.org> (raw)
In-Reply-To: <1446690726-2024-1-git-send-email-jszhang@marvell.com>

On 11/05/2015 03:32 AM, Jisheng Zhang wrote:
> Implement an ARM delay timer to be used for udelay(). This allows us to
> skip the delay loop calibration at boot on Marvell BG2, BG2Q, BG2CD
> platforms. And after this patch, udelay() will be unaffected by CPU
> frequency changes.
>
> Note: Although in case there are several possible delay timers, we may
> not select the "best" delay timer. Take one Marvell Berlin platform for
> example: we have arch timer and dw-apb timer. The arch timer freq is
> 25MHZ while the dw-apb timer freq is 100MHZ, current selection would
> choose the dw-apb timer. But the dw apb timer is on the APB bus while
> arch timer sits in CPU, the cost of accessing the apb timer is higher
> than the arch timer. We could introduce "rating" concept to delay
> timer, but this approach "brings a lot of complexity and workarounds
> in the code for a small benefit" as pointed out by Daniel.
>
> Later, Arnd pointed out "However, we could argue that this actually
> doesn't matter at all, because the entire point of the ndelay()/
> udelay()/mdelay() functions is to waste CPU cycles doing not much at
> all, so we can just as well waste them reading the timer register
> than spinning on the CPU reading the arch timer more often.", so we
> just simply register the dw apb base delay timer.
>
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---

Applied, thanks!

   -- Daniel

-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Jisheng Zhang <jszhang@marvell.com>, arnd@arndb.de, tglx@linutronix.de
Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3] clocksource/drivers/dw_apb_timer_of: Implement ARM delay timer
Date: Fri, 6 Nov 2015 10:07:59 +0100	[thread overview]
Message-ID: <563C6DEF.2040905@linaro.org> (raw)
In-Reply-To: <1446690726-2024-1-git-send-email-jszhang@marvell.com>

On 11/05/2015 03:32 AM, Jisheng Zhang wrote:
> Implement an ARM delay timer to be used for udelay(). This allows us to
> skip the delay loop calibration at boot on Marvell BG2, BG2Q, BG2CD
> platforms. And after this patch, udelay() will be unaffected by CPU
> frequency changes.
>
> Note: Although in case there are several possible delay timers, we may
> not select the "best" delay timer. Take one Marvell Berlin platform for
> example: we have arch timer and dw-apb timer. The arch timer freq is
> 25MHZ while the dw-apb timer freq is 100MHZ, current selection would
> choose the dw-apb timer. But the dw apb timer is on the APB bus while
> arch timer sits in CPU, the cost of accessing the apb timer is higher
> than the arch timer. We could introduce "rating" concept to delay
> timer, but this approach "brings a lot of complexity and workarounds
> in the code for a small benefit" as pointed out by Daniel.
>
> Later, Arnd pointed out "However, we could argue that this actually
> doesn't matter at all, because the entire point of the ndelay()/
> udelay()/mdelay() functions is to waste CPU cycles doing not much at
> all, so we can just as well waste them reading the timer register
> than spinning on the CPU reading the arch timer more often.", so we
> just simply register the dw apb base delay timer.
>
> Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> ---

Applied, thanks!

   -- Daniel

-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


  reply	other threads:[~2015-11-06  9:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-05  2:32 [PATCH v3] clocksource/drivers/dw_apb_timer_of: Implement ARM delay timer Jisheng Zhang
2015-11-05  2:32 ` Jisheng Zhang
2015-11-06  9:07 ` Daniel Lezcano [this message]
2015-11-06  9:07   ` Daniel Lezcano

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=563C6DEF.2040905@linaro.org \
    --to=daniel.lezcano@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.