Re: [PATCH 03/10] ARM: smp_twd: Divorce smp_twd from local timer API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/11/13 10:28, Tony Lindgren wrote:
> * Stephen Boyd <sboyd@xxxxxxxxxxxxxx> [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@xxxxxxx>.

Reported-by: Tony Lindgren <tony@xxxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux