All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@codeaurora.org>
To: Tony Lindgren <tony@atomide.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	Russell King <linux@arm.linux.org.uk>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 03/10] ARM: smp_twd: Divorce smp_twd from local timer API
Date: Mon, 11 Mar 2013 15:17:40 -0700	[thread overview]
Message-ID: <513E5804.3050104@codeaurora.org> (raw)
In-Reply-To: <20130311172847.GP26093@atomide.com>

On 03/11/13 10:28, Tony Lindgren wrote:
> * Stephen Boyd <sboyd@codeaurora.org> [130308 17:10]:
>> On 03/08/13 12:29, Tony Lindgren wrote:
>>> Applying that does not seem to help, but you might want to get vexpress
>>> running anyways for some multiplatform sanity checks.
>>>
>>> I just built and installed qemu-linaro from their git, then ran the
>>> command above. Looks like stock qemu does not work for vexpress for some
>>> reason. You can probably use a dummy initrd and rootfs to debug this
>>> though :)
>> So my patchset didn't break qemu?
> Sorry if that was unclear: Yes your patchset breaks booting vexpress
> in qemu.
>
>

Ok. qemu works for me before applying my patches. I've added this into
the series before this patch to fix the boot issue.

-----8<-----

Subject: [PATCH] ARM: vexpress: Move smp_twd setup to time_late_init hook

On devices without a clock describing the rate of the twd we
detect the rate at runtime via twd_calibrate_rate(). Currently
this happens when smp_prepare_cpus() calls the localtimer start
callback, after the sp804 timer has been registered and when
jiffies have started incrementing.

In the next patch we're going to make twd_local_timer_register()
register the twd clockevent on the boot CPU. In the case of
vexpress, this will hang the system at boot because jiffies
haven't started incrementing when twd_calibrate_rate() is called.
Register the smp_twd during time_late_init() on vexpress to avoid
this problem.

Based on a patch by Marc Zyngier <marc.zyngier@arm.com>.

Reported-by: Tony Lindgren <tony@atomide.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-vexpress/ct-ca9x4.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-vexpress/ct-ca9x4.c b/arch/arm/mach-vexpress/ct-ca9x4.c
index 6f34497..a9f39bf 100644
--- a/arch/arm/mach-vexpress/ct-ca9x4.c
+++ b/arch/arm/mach-vexpress/ct-ca9x4.c
@@ -62,7 +62,7 @@ static void __init ct_ca9x4_init_irq(void)
 {
 	gic_init(0, 29, ioremap(A9_MPCORE_GIC_DIST, SZ_4K),
 		 ioremap(A9_MPCORE_GIC_CPU, SZ_256));
-	ca9x4_twd_init();
+	late_time_init = ca9x4_twd_init;
 }
 
 static int ct_ca9x4_clcd_setup(struct clcd_fb *fb)

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/10] ARM: smp_twd: Divorce smp_twd from local timer API
Date: Mon, 11 Mar 2013 15:17:40 -0700	[thread overview]
Message-ID: <513E5804.3050104@codeaurora.org> (raw)
In-Reply-To: <20130311172847.GP26093@atomide.com>

On 03/11/13 10:28, Tony Lindgren wrote:
> * Stephen Boyd <sboyd@codeaurora.org> [130308 17:10]:
>> On 03/08/13 12:29, Tony Lindgren wrote:
>>> Applying that does not seem to help, but you might want to get vexpress
>>> running anyways for some multiplatform sanity checks.
>>>
>>> I just built and installed qemu-linaro from their git, then ran the
>>> command above. Looks like stock qemu does not work for vexpress for some
>>> reason. You can probably use a dummy initrd and rootfs to debug this
>>> though :)
>> So my patchset didn't break qemu?
> Sorry if that was unclear: Yes your patchset breaks booting vexpress
> in qemu.
>
>

Ok. qemu works for me before applying my patches. I've added this into
the series before this patch to fix the boot issue.

-----8<-----

Subject: [PATCH] ARM: vexpress: Move smp_twd setup to time_late_init hook

On devices without a clock describing the rate of the twd we
detect the rate at runtime via twd_calibrate_rate(). Currently
this happens when smp_prepare_cpus() calls the localtimer start
callback, after the sp804 timer has been registered and when
jiffies have started incrementing.

In the next patch we're going to make twd_local_timer_register()
register the twd clockevent on the boot CPU. In the case of
vexpress, this will hang the system at boot because jiffies
haven't started incrementing when twd_calibrate_rate() is called.
Register the smp_twd during time_late_init() on vexpress to avoid
this problem.

Based on a patch by Marc Zyngier <marc.zyngier@arm.com>.

Reported-by: Tony Lindgren <tony@atomide.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-vexpress/ct-ca9x4.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-vexpress/ct-ca9x4.c b/arch/arm/mach-vexpress/ct-ca9x4.c
index 6f34497..a9f39bf 100644
--- a/arch/arm/mach-vexpress/ct-ca9x4.c
+++ b/arch/arm/mach-vexpress/ct-ca9x4.c
@@ -62,7 +62,7 @@ static void __init ct_ca9x4_init_irq(void)
 {
 	gic_init(0, 29, ioremap(A9_MPCORE_GIC_DIST, SZ_4K),
 		 ioremap(A9_MPCORE_GIC_CPU, SZ_256));
-	ca9x4_twd_init();
+	late_time_init = ca9x4_twd_init;
 }
 
 static int ct_ca9x4_clcd_setup(struct clcd_fb *fb)

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

  reply	other threads:[~2013-03-11 22:17 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-07  0:03 [PATCHv2 0/10] Remove ARM local timer API Stephen Boyd
2013-03-07  0:03 ` Stephen Boyd
2013-03-07  0:03 ` [PATCH 01/10] clocksource: add generic dummy timer driver Stephen Boyd
2013-03-07  0:03   ` Stephen Boyd
2013-03-07 14:00   ` Thomas Gleixner
2013-03-07 14:00     ` Thomas Gleixner
2013-03-07 21:41     ` Stephen Boyd
2013-03-07 21:41       ` Stephen Boyd
2013-03-07  0:03 ` [PATCH 02/10] ARM: smp: Remove duplicate dummy timer implementation Stephen Boyd
2013-03-07  0:03   ` Stephen Boyd
2013-03-07  0:03   ` Stephen Boyd
2013-03-07  0:03 ` [PATCH 03/10] ARM: smp_twd: Divorce smp_twd from local timer API Stephen Boyd
2013-03-07  0:03   ` Stephen Boyd
2013-03-08  0:40   ` Tony Lindgren
2013-03-08  0:40     ` Tony Lindgren
2013-03-08  1:14     ` Stephen Boyd
2013-03-08  1:14       ` Stephen Boyd
2013-03-08 18:07       ` Tony Lindgren
2013-03-08 18:07         ` Tony Lindgren
2013-03-08 18:17         ` Stephen Boyd
2013-03-08 18:17           ` Stephen Boyd
2013-03-08 19:48           ` Tony Lindgren
2013-03-08 19:48             ` Tony Lindgren
2013-03-08 19:50             ` Stephen Boyd
2013-03-08 19:50               ` Stephen Boyd
2013-03-08 20:08               ` Tony Lindgren
2013-03-08 20:08                 ` Tony Lindgren
2013-03-08 20:17                 ` Stephen Boyd
2013-03-08 20:17                   ` Stephen Boyd
2013-03-08 20:29                   ` Tony Lindgren
2013-03-08 20:29                     ` Tony Lindgren
2013-03-09  1:06                     ` Stephen Boyd
2013-03-09  1:06                       ` Stephen Boyd
2013-03-11 17:28                       ` Tony Lindgren
2013-03-11 17:28                         ` Tony Lindgren
2013-03-11 22:17                         ` Stephen Boyd [this message]
2013-03-11 22:17                           ` Stephen Boyd
2013-03-11 22:50                           ` Tony Lindgren
2013-03-11 22:50                             ` Tony Lindgren
2013-03-12  1:20                             ` Stephen Boyd
2013-03-12  1:20                               ` Stephen Boyd
2013-03-12 17:06                               ` Tony Lindgren
2013-03-12 17:06                                 ` Tony Lindgren
2013-03-07  0:04 ` [PATCH 04/10] ARM: OMAP2+: Divorce " Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-08 19:50   ` Tony Lindgren
2013-03-08 19:50     ` Tony Lindgren
2013-03-11 15:29     ` Santosh Shilimkar
2013-03-11 15:29       ` Santosh Shilimkar
2013-03-11 15:29       ` Santosh Shilimkar
2013-03-07  0:04 ` [PATCH 05/10] ARM: EXYNOS4: Divorce mct " Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-07  0:04 ` [PATCH 06/10] ARM: PRIMA2: Divorce timer-marco " Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-07  0:04 ` [PATCH 07/10] ARM: msm: Divorce msm_timer " Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-07  0:04 ` [PATCH 08/10] clocksource: time-armada-370-xp: Fix sparse warning Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-07  0:04 ` [PATCH 09/10] clocksource: time-armada-370-xp: Divorce from local timer API Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-07  0:04 ` [PATCH 10/10] ARM: smp: Remove " Stephen Boyd
2013-03-07  0:04   ` Stephen Boyd
2013-03-08 19:55   ` Tony Lindgren
2013-03-08 19:55     ` Tony Lindgren

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=513E5804.3050104@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=tony@atomide.com \
    /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.