From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv2 04/11] arm: arch_timer: standardise counter reading
Date: Fri, 11 Jan 2013 18:53:33 +0530 [thread overview]
Message-ID: <50F01255.4060805@ti.com> (raw)
In-Reply-To: <1357747640-18594-5-git-send-email-mark.rutland@arm.com>
On Wednesday 09 January 2013 09:37 PM, Mark Rutland wrote:
> We're currently inconsistent with respect to our accesses to the
> physical and virtual counters, mixing and matching the two.
>
> This patch introduces and uses a function for accessing the correct
> counter based on whether we're using physical or virtual interrupts.
> All current accesses to the counter accessors are redirected through
> it.
>
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
> arch/arm/kernel/arch_timer.c | 48 ++++++++++-------------------------------
> 1 files changed, 12 insertions(+), 36 deletions(-)
>
> diff --git a/arch/arm/kernel/arch_timer.c b/arch/arm/kernel/arch_timer.c
> index 498c29f..0d2681c 100644
> --- a/arch/arm/kernel/arch_timer.c
> +++ b/arch/arm/kernel/arch_timer.c
> @@ -272,51 +272,32 @@ static int arch_timer_available(void)
> return 0;
> }
>
> -static u32 notrace arch_counter_get_cntpct32(void)
> +u64 arch_timer_read_counter(void)
> {
> - cycle_t cnt = arch_counter_get_cntpct();
> -
> - /*
> - * The sched_clock infrastructure only knows about counters
> - * with at most 32bits. Forget about the upper 24 bits for the
> - * time being...
> - */
> - return (u32)cnt;
> + if (arch_timer_use_virtual)
> + return arch_counter_get_cntvct();
> + else
> + return arch_counter_get_cntpct();
> }
>
[...]
> @@ -489,18 +470,13 @@ int __init arch_timer_of_register(void)
>
> int __init arch_timer_sched_clock_init(void)
> {
> - u32 (*cnt32)(void);
> int err;
>
> err = arch_timer_available();
> if (err)
> return err;
>
> - if (arch_timer_use_virtual)
> - cnt32 = arch_counter_get_cntvct32;
> - else
> - cnt32 = arch_counter_get_cntpct32;
> -
> - setup_sched_clock(cnt32, 32, arch_timer_rate);
> + setup_sched_clock(arch_timer_read_counter32,
> + 32, arch_timer_rate);
> return 0;
> }
>
I think the original idea had merit since the check was needed
in init code instead of proposed one which has if check for
every counter read function. No ?
next prev parent reply other threads:[~2013-01-11 13:23 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-09 16:07 [PATCHv3 00/11] Unify arm_generic and arch_timer drivers Mark Rutland
2013-01-09 16:07 ` [PATCHv2 01/11] arm: arch_timer: balance device_node refcounting Mark Rutland
2013-01-11 12:59 ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 02/11] arm: arch_timer: remove redundant available check Mark Rutland
2013-01-11 13:11 ` Santosh Shilimkar
2013-01-11 14:07 ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 03/11] arm: arch_timer: use u64/u32 for register data Mark Rutland
2013-01-11 13:19 ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 04/11] arm: arch_timer: standardise counter reading Mark Rutland
2013-01-11 13:23 ` Santosh Shilimkar [this message]
2013-01-15 10:25 ` Mark Rutland
2013-01-15 10:38 ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 05/11] arm: arch_timer: split cntfrq accessor Mark Rutland
2013-01-11 13:27 ` Santosh Shilimkar
2013-01-11 14:16 ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 06/11] arm: arch_timer: factor out register accessors Mark Rutland
2013-01-11 13:32 ` Santosh Shilimkar
2013-01-11 14:31 ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 07/11] arm: arch_timer: divorce from local_timer api Mark Rutland
2013-01-11 13:34 ` Santosh Shilimkar
2013-01-11 16:46 ` Catalin Marinas
2013-01-11 16:56 ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 08/11] arm: arch_timer: add arch_counter_set_user_access Mark Rutland
2013-01-11 13:40 ` Santosh Shilimkar
2013-01-11 14:54 ` Mark Rutland
2013-01-11 15:07 ` Will Deacon
2013-01-11 17:00 ` Santosh Shilimkar
2013-01-11 16:50 ` Catalin Marinas
2013-01-11 16:57 ` Santosh Shilimkar
2013-01-11 17:54 ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 09/11] arm: arch_timer: move core to drivers/clocksource Mark Rutland
2013-01-11 13:48 ` Santosh Shilimkar
2013-01-11 15:04 ` Mark Rutland
2013-01-09 16:07 ` [PATCHv2 10/11] arm64: move from arm_generic to arm_arch_timer Mark Rutland
2013-01-11 13:50 ` Santosh Shilimkar
2013-01-09 16:07 ` [PATCHv2 11/11] Documentation: Add ARMv8 to arch_timer devicetree Mark Rutland
2013-01-11 13:52 ` Santosh Shilimkar
-- strict thread matches above, loose matches on Subject: below --
2012-12-19 15:10 [PATCHv2 00/11] Unify arm_generic and arch_timer drivers Mark Rutland
2012-12-19 15:11 ` [PATCHv2 04/11] arm: arch_timer: standardise counter reading Mark Rutland
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=50F01255.4060805@ti.com \
--to=santosh.shilimkar@ti.com \
--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.