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
next prev parent 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: linkBe 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.