From mboxrd@z Thu Jan 1 00:00:00 1970 From: tony@atomide.com (Tony Lindgren) Date: Wed, 14 Jan 2015 11:09:26 -0800 Subject: OMAP 4430 SDP: rather sick with recent kernels In-Reply-To: <20150114175132.GR11502@n2100.arm.linux.org.uk> References: <20141217095252.GH11502@n2100.arm.linux.org.uk> <20150114175132.GR11502@n2100.arm.linux.org.uk> Message-ID: <20150114190925.GP2419@atomide.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org * Russell King - ARM Linux [150114 09:54]: > On Wed, Dec 17, 2014 at 09:52:52AM +0000, Russell King - ARM Linux wrote: > > The "combined" kernel boot follows a similar pattern, but yets a bit > > further before oopsing, with ASoC DAPM code printing random bits of > > kernel memory. > > Note that the "combined" kernel (which is OMAP4 + Versatile Express) > has for a while now also spat out this: > > WARNING: CPU: 0 PID: 1 at .../linux-build/drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x218/0x2f0() > 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4CFG (Idle): Data Access in Supervisor mode during Functional access > Modules linked in: > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-rc4+ #1 > Hardware name: Generic OMAP4 (Flattened Device Tree) > Backtrace: > [] (dump_backtrace) from [] (show_stack+0x18/0x1c) > r6:c04c073e r5:00000009 r4:00000000 r3:00200040 > [] (show_stack) from [] (dump_stack+0x78/0x94) > [] (dump_stack) from [] (warn_slowpath_common+0x8c/0xb8) > r4:ce461b38 r3:ce458000 > [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x38/0x40) > r8:c04c06a6 r7:c04c094c r6:80080003 r5:ce54d218 r4:f8000400 > [] (warn_slowpath_fmt) from [] (l3_interrupt_handler+0x218/0x2f0) > r3:ce54ad40 r2:c04c0772 > [] (l3_interrupt_handler) from [] (handle_irq_event_percpu+0x38/0x13c) > r10:ce440700 r9:c06e1c58 r8:ce5b1960 r7:00000000 r6:00000000 r5:00000013 > r4:ce54f480 > [] (handle_irq_event_percpu) from [] (handle_irq_event+0x44/0x64) > r10:00000000 r9:ce5b1938 r8:ce5b1960 r7:00000001 r6:ce54f480 r5:ce440760 > r4:ce440700 > [] (handle_irq_event) from [] (handle_fasteoi_irq+0xb0/0x128) > r6:ce440760 r5:c06c5fec r4:ce440700 r3:00000000 > [] (handle_fasteoi_irq) from [] (generic_handle_irq+0x28/0x38) > r6:ce408000 r5:00000000 r4:00000013 r3:c0079544 > [] (generic_handle_irq) from [] (__handle_domain_irq+0x90/0xb8) > r4:00000000 r3:00000110 > [] (__handle_domain_irq) from [] (gic_handle_irq+0x44/0x68) > r7:ce461d0c r6:c068b34c r5:ce461cd8 r4:fa240100 > [] (gic_handle_irq) from [] (__irq_svc+0x44/0x5c) > Exception stack(0xce461cd8 to 0xce461d20) > 1cc0: 00000001 ce458508 > 1ce0: 00000000 00000000 60000113 ce5b1960 0000002c 00000000 ce5b1960 ce5b1938 > 1d00: 00000000 ce461d34 ce461cf0 ce461d20 c006d4f4 c046df64 20000113 ffffffff > r6:ffffffff r5:20000113 r4:c046df64 r3:ce458000 > [] (_raw_spin_unlock_irqrestore) from [] (__setup_irq+0x3bc/0x4e4) > r5:c06b7c00 r4:ce5b1900 > [] (__setup_irq) from [] (setup_irq+0x50/0x90) > r10:c06ea338 r9:20000113 r8:c06ea338 r7:ce67ec00 r6:c06b7c00 r5:0000002c > r4:ce5b1900 > [] (setup_irq) from [] (omap_system_dma_probe+0x20c/0x2a4) > r6:ce67ec10 r5:0000002c r4:00000020 r3:00000002 > [] (omap_system_dma_probe) from [] (platform_drv_probe+0x50/0x98) > r10:c066d8b0 r9:00000000 r8:00000000 r7:c02971b8 r6:c06b7b94 r5:ffffffed > r4:ce67ec10 > [] (platform_drv_probe) from [] (driver_probe_device+0x13c/0x34c) > r6:00000000 r5:c06b7b94 r4:ce67ec10 r3:c0298738 > [] (driver_probe_device) from [] (__driver_attach+0x78/0x9c) r8:c0646228 r7:c02971b8 r6:c06b7b94 r5:ce67ec44 r4:ce67ec10 > [] (__driver_attach) from [] (bus_for_each_dev+0x5c/0x98) > r6:c06b7b94 r5:ce461e48 r4:00000000 r3:c02971b8 > [] (bus_for_each_dev) from [] (driver_attach+0x20/0x28) > r7:00000000 r6:c06ce978 r5:ce61c100 r4:c06b7b94 > [] (driver_attach) from [] (bus_add_driver+0xf8/0x1fc) > [] (bus_add_driver) from [] (driver_register+0xa4/0xe8) > r7:c06e9040 r6:c068d0e8 r5:c068d0e8 r4:c06b7b94 > [] (driver_register) from [] (__platform_driver_register+0x50/0x64) > r5:c068d0e8 r4:ce621f80 > [] (__platform_driver_register) from [] (omap_system_dma_init+0x18/0x20) > [] (omap_system_dma_init) from [] (do_one_initcall+0x114/0x1e0) > [] (do_one_initcall) from [] (kernel_init_freeable+0x110/0x1dc) > r10:c066d8b0 r9:00000000 r8:0000007d r7:c06e9040 r6:c067ddf0 r5:c066d898 > r4:00000003 > [] (kernel_init_freeable) from [] (kernel_init+0x10/0xec) > r10:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0460830 r4:00000000 > [] (kernel_init) from [] (ret_from_fork+0x14/0x24) > r4:00000000 r3:00000000 > ---[ end trace bcb85e0273c31888 ]--- > OMAP DMA hardware revision 0.0 > > This does not occur when booting the plain "omap4" kernel. > > I thought it may be related to another error which people have been > reporting, but as it's still there, I thought I should report it. > > To me, this suggests that Versatile Express code may be initialising > on non-Versatile Express hardware, possibly touching hardware, but > it looks like it's happening within the setup_irq() called from the > legacy OMAP DMA code, though it's possible that could be because > Versatile Express code could be hitting some register which causes > OMAP4 to later to wrong. > > I think it's going to be particularly horrid to debug... This seems like it could be a similar issue to what we were seeing on omap3 where the legacy IRQ mappings went wrong without using the irq_domain_add_legacy(). Maybe vexpress affects NR_IRQS or something? Also, I think we could now disable the legacy DMA init completely except for omap2 and 3. Regards, Tony