Subject: Re: next-20130627 breaks i.MX6 sabre sd UART console

From: Stephen Boyd <[email-masked]>
Date: Fri, 28 Jun 2013 08:57:30 -0700

On 06/28/13 05:09, Thomas Gleixner wrote:
> On Thu, 27 Jun 2013, Stehle Vincent-B46079 wrote:
>
> Cc'ed Mark and Stephen.
>
>> FYI I remark that today's Linux next 'next-20130627' breaks i.MX6
>> sabre sd UART console with ARM config imx_v6_v7_defconfig.
>> This was working fine yesterday with 'next-20130626'.
>>
>> Bisecting gave me this commit:
>>
>>   064706514ec3fea740c2656e03c4f01f6a551ac4 clocksource: Add generic
>> dummy timer driver
>>
>> If I revert it I do indeed get the boot messages on the UART console
>> again, but the kernel then crashes in wm8962_probe(). So there is
>> more to find out...

Do you have debug_ll support to get some serial logs? Also could you try
booting with maxcpus=1 on the kernel commandline? And it would be useful
to have the output of /proc/timer_list if you have it from a working
device. I believe you have a per-cpu TWD timer and a global imx-gpt? Can
you try this patch? (sorry about the whitespace damage)

----8<-----

diff --git a/arch/arm/mach-imx/time.c b/arch/arm/mach-imx/time.c
index fea9131..f05f1f1 100644
--- a/arch/arm/mach-imx/time.c
+++ b/arch/arm/mach-imx/time.c
@@ -267,7 +267,7 @@ static int __init mxc_clockevent_init(struct clk *timer_clk)
        if (timer_is_v2())
                clockevent_mxc.set_next_event = v2_set_next_event;
 
-       clockevent_mxc.cpumask = cpumask_of(0);
+       clockevent_mxc.cpumask = cpu_all_mask;
        clockevents_config_and_register(&clockevent_mxc,
                                        clk_get_rate(timer_clk),
                                        0xff, 0xfffffffe);

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