[PATCH v1 0/3] Tegra30 clockframework
Peter De Schrijver
pdeschrijver at nvidia.com
Mon Jan 9 07:53:55 EST 2012
On Fri, Jan 06, 2012 at 10:13:08PM +0100, Stephen Warren wrote:
> Peter De Schrijver wrote at Monday, January 02, 2012 8:18 AM:
> > This patchset introduces the tegra30 clockframework. Clocks which require
> > voltage scaling are not included in this version. The implementation doesn't
> > use the generic clock code yet. It's the intention to move to it, once the
> > semantics are fully clarified.
>
> I tried testing this, and the kernel crashes/hangs as shown below:
>
> [ 0.088340] CPU: Testing write buffer coherency: ok
> [ 0.093638] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [ 0.099573] Division by zero in kernel.
> [ 0.103643] [<c001396c>] (unwind_backtrace+0x0/0x11c) from [<c013c1cc>] (Ldiv0_64+0x8/0x18)
> [ 0.112332] [<c013c1cc>] (Ldiv0_64+0x8/0x18) from [<c0056754>] (clockevents_config.part.0+0x1c/0x64)
> [ 0.121810] [<c0056754>] (clockevents_config.part.0+0x1c/0x64) from [<c00569ac>] (clockevents_config_and_register+0x20/0x2c)
> [ 0.133433] [<c00569ac>] (clockevents_config_and_register+0x20/0x2c) from [<c0280fec>] (twd_timer_setup+0x144/0x190)
> [ 0.144335] [<c0280fec>] (twd_timer_setup+0x144/0x190) from [<c0281334>] (local_timer_setup+0x10/0x18)
> [ 0.153986] [<c0281334>] (local_timer_setup+0x10/0x18) from [<c0280c00>] (percpu_timer_setup+0x54/0xa8)
> [ 0.163727] [<c0280c00>] (percpu_timer_setup+0x54/0xa8) from [<c03904e0>] (smp_prepare_cpus+0x6c/0x90)
> [ 0.173391] [<c03904e0>] (smp_prepare_cpus+0x6c/0x90) from [<c038d844>] (kernel_init+0x48/0x12c)
> [ 0.182520] [<c038d844>] (kernel_init+0x48/0x12c) from [<c000ebf4>] (kernel_thread_exit+0x0/0x8)
> [ 0.191628] ------------[ cut here ]------------
> [ 0.196454] WARNING: at kernel/time/clockevents.c:46 clockevent_delta2ns+0x3c/0x84()
> [ 0.204490] Modules linked in:
> [ 0.207735] [<c001396c>] (unwind_backtrace+0x0/0x11c) from [<c0022284>] (warn_slowpath_common+0x4c/0x64)
> [ 0.217568] [<c0022284>] (warn_slowpath_common+0x4c/0x64) from [<c00222b4>] (warn_slowpath_null+0x18/0x1c)
> [ 0.227577] [<c00222b4>] (warn_slowpath_null+0x18/0x1c) from [<c005668c>] (clockevent_delta2ns+0x3c/0x84)
> [ 0.237497] [<c005668c>] (clockevent_delta2ns+0x3c/0x84) from [<c0056780>] (clockevents_config.part.0+0x48/0x64)
> [ 0.248040] [<c0056780>] (clockevents_config.part.0+0x48/0x64) from [<c00569ac>] (clockevents_config_and_register+0x20/0x2c)
> [ 0.259654] [<c00569ac>] (clockevents_config_and_register+0x20/0x2c) from [<c0280fec>] (twd_timer_setup+0x144/0x190)
> [ 0.270553] [<c0280fec>] (twd_timer_setup+0x144/0x190) from [<c0281334>] (local_timer_setup+0x10/0x18)
> [ 0.280202] [<c0281334>] (local_timer_setup+0x10/0x18) from [<c0280c00>] (percpu_timer_setup+0x54/0xa8)
> [ 0.289934] [<c0280c00>] (percpu_timer_setup+0x54/0xa8) from [<c03904e0>] (smp_prepare_cpus+0x6c/0x90)
> [ 0.299582] [<c03904e0>] (smp_prepare_cpus+0x6c/0x90) from [<c038d844>] (kernel_init+0x48/0x12c)
> [ 0.308699] [<c038d844>] (kernel_init+0x48/0x12c) from [<c000ebf4>] (kernel_thread_exit+0x0/0x8)
> [ 0.317830] ---[ end trace 1b75b31a2719ed1c ]---
> [ 0.322697] Setting up static identity map for 0x8028cf98 - 0x8028cff0
> <<no more output>>
>
> Without these patches, the same tree gets all the way to waiting for the
> root filesystem:
>
> [ 0.088329] CPU: Testing write buffer coherency: ok
> [ 0.093631] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [ 0.099545] smp_twd: clock not found: -2
> [ 0.103667] Calibrating local timer... 500.06MHz.
> [ 0.161249] Setting up static identity map for 0x8028a918 - 0x8028a970
> [ 2.261492] CPU1: failed to come online
> [ 2.265684] Brought up 1 CPUs
> [ 2.268813] SMP: Total of 1 processors activated (1987.37 BogoMIPS).
> ...
> [ 2.704845] Registering SWP/SWPB emulation handler
> [ 2.710558] Waiting for root device /dev/mmcblk1p1...
>
> I tested using commit e4421e71fa89bee67d2b67079041ca346ae49ea3 in my
> per-user repo on nv-tegra.nvidia.com.
Ok... Figured out why it doesn't work.
Cheers,
Peter.
More information about the linux-arm-kernel
mailing list