[PATCH 14/14] omap4: Fix bootup crash observed with higher CPU clocks
Menon, Nishanth
nm at ti.com
Fri Sep 17 06:14:59 EDT 2010
> -----Original Message-----
> From: linux-omap-owner at vger.kernel.org [mailto:linux-omap-
> owner at vger.kernel.org] On Behalf Of Shilimkar, Santosh
> Sent: Friday, September 17, 2010 4:48 AM
> To: linux-omap at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org; Shilimkar, Santosh; Nayak,
> Rajendra
> Subject: [PATCH 14/14] omap4: Fix bootup crash observed with higher CPU
> clocks
>
> This patch is temporary fix to below crash. This is observed when
> CPU is clocked more than 600 MHz.
>
> Unhandled fault: imprecise external abort (0x1406) at 0xbf9ef65c
> Internal error: : 1406 [#1] PREEMPT SMP
> last sysfs file:
> Modules linked in:
> CPU: 0 Not tainted (2.6.36-rc3+ #18)
> PC is at kernel_thread_helper+0x0/0x14
> LR is at kernel_thread_helper+0x0/0x14
> pc : [<c003ce14>] lr : [<c003ce14>] psr: 00000093
> sp : dc83bff8 ip : 00000000 fp : 00000000
> r10: 00000000 r9 : 00000000 r8 : 00000000
> r7 : 00000013 r6 : c003ce28 r5 : c008935c r4 : 00000000
> r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000000
> Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
> Control: 10c53c7f Table: 8000404a DAC: 00000017
> Process swapper (pid: 2, stack limit = 0xdc83a2f0)
> Stack: (0xdc83bff8 to 0xdc83c000)
> bfe0: 00000000 ffffffff
> [<c003ce14>] (kernel_thread_helper+0x0/0x14) from [<fffffffe>]
> (0xfffffffe)
> Code: c03a0ba3 c03a5fcb c045c880 c0394035 (eb017701)
> ---[ end trace 1b75b31a2719ed1c ]---
>
> The timer hwmod adaptation will eventually fix it in a proper way.
>
> Signed-off-by: Rajendra Nayak <rnayak at ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> ---
> arch/arm/plat-omap/dmtimer.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
> index 44bafda..1d706cf 100644
> --- a/arch/arm/plat-omap/dmtimer.c
> +++ b/arch/arm/plat-omap/dmtimer.c
> @@ -581,7 +581,7 @@ int omap_dm_timer_set_source(struct omap_dm_timer
> *timer, int source)
> * When the functional clock disappears, too quick writes seem
> * to cause an abort. XXX Is this still necessary?
> */
> - __delay(150000);
> + __delay(300000);
What is the rationale for this increase? Lets say we have a CPU bumped up to 1GHz or something will we have weird numbers again?
Regards,
Nishanth Menon
More information about the linux-arm-kernel
mailing list