* OMAP3EVM not booting on l-o master
@ 2012-04-04 5:36 Mohammed, Afzal
2012-04-04 9:11 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-04 5:36 UTC (permalink / raw)
To: linux-omap
Hi,
OMAP3EVM is not booting on l-o master, with default configuration, HEAD
@33fc21e Linux-omap rebuilt: Updated to v3.4-rc1, merged in most of pending branches.
It was booting on l-o master two weeks old with same setup.
Any clues on resolving this issue ?
Regards
Afzal
Logs as follows,
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.0-rc1-11705-g33fc21e (afzal@linux-psp-server.india.ext.ti.com) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 SMP Wed Apr 4 10:27:23 IST 2012
[ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: OMAP3 EVM
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp )
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c0d0e000 s11456 r8192 d13120 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32256
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root/dev/ram rw earlyprintk mem=128M initrd=0x81338000,0x1f6c2f
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 127MB = 127MB total
[ 0.000000] Memory: 114536k/114536k available, 16536k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc05d2e34 (5932 kB)
[ 0.000000] .init : 0xc05d3000 - 0xc0621cc0 ( 316 kB)
[ 0.000000] .data : 0xc0622000 - 0xc06b5958 ( 591 kB)
[ 0.000000] .bss : 0xc06b597c - 0xc0c09be0 (5457 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:474
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[ 0.000000] Total of 96 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 0.001129] Calibrating delay loop... 497.82 BogoMIPS (lpj=1941504)
[ 0.085906] pid_max: default: 32768 minimum: 301
[ 0.086883] Security Framework initialized
[ 0.087249] Mount-cache hash table entries: 512
[ 0.093780] CPU: Testing write buffer coherency: ok
[ 0.094970] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.095092] Setting up static identity map for 0x804278b8 - 0x80427928
[ 0.097442] Brought up 1 CPUs
[ 0.097473] SMP: Total of 1 processors activated (497.82 BogoMIPS).
[ 0.124389] dummy:
[ 0.127258] NET: Registered protocol family 16
[ 0.128936] GPMC revision 5.0
[ 0.143035] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
[ 0.143737] OMAP GPIO hardware version 2.5
[ 0.145141] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
[ 0.147125] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
[ 0.149536] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
[ 0.151428] gpiochip_add: registered GPIOs 128 to 159 on device: gpio
[ 0.153320] gpiochip_add: registered GPIOs 160 to 191 on device: gpio
[ 0.163635] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.182525] Reprogramming SDRC clock to 332000000 Hz
[ 0.290496] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.310638] omap-mcbsp.2: alias fck already exists
[ 0.311676] omap-mcbsp.3: alias fck already exists
[ 0.318115] OMAP DMA hardware revision 4.0
[ 0.409606] bio: create slab <bio-0> at 0
[ 0.414764] dummy:
[ 0.414947] dummy: Failed to create debugfs directory
[ 0.422912] SCSI subsystem initialized
[ 0.425506] omap2_mcspi omap2_mcspi.1: master is unqueued, this is deprecated
[ 0.429168] omap2_mcspi omap2_mcspi.2: master is unqueued, this is deprecated
[ 0.431213] omap2_mcspi omap2_mcspi.3: master is unqueued, this is deprecated
[ 0.432708] omap2_mcspi omap2_mcspi.4: master is unqueued, this is deprecated
[ 0.437194] usbcore: registered new interface driver usbfs
[ 0.439025] usbcore: registered new interface driver hub
[ 0.439971] usbcore: registered new device driver usb
[ 0.453674] omap_i2c omap_i2c.1: bus 1 rev1.3.12 at 2600 kHz
[ 0.466003] twl 1-0048: PIH (irq 7) chaining IRQs 320..328
[ 0.466857] twl 1-0048: power (irq 325) chaining IRQs 328..335
[ 0.470428] twl4030_gpio twl4030_gpio: gpio (irq 320) chaining IRQs 336..353
[ 0.472412] gpiochip_add: registered GPIOs 192 to 211 on device: twl4030
[ 0.486389] VIO: 1800 mV normal standby
[ 0.489349] vdd_mpu_iva: 600 <--> 1450 mV normal
[ 0.491973] vdd_core: 600 <--> 1450 mV normal
[ 0.495452] VMMC1: 1850 <--> 3150 mV at 3000 mV normal standby
[ 0.498474] VDAC: 1800 mV normal standby
[ 0.501953] VPLL2: 1800 mV normal standby
[ 0.505065] VSIM: 1800 <--> 3000 mV at 1800 mV normal standby
[ 0.515991] omap_i2c omap_i2c.2: bus 2 rev1.3.12 at 400 kHz
[ 0.531494] omap_i2c omap_i2c.3: bus 3 rev1.3.12 at 400 kHz
[ 0.542846] Switching to clocksource 32k_counter
[ 0.698089] NET: Registered protocol family 2
[ 0.699310] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.702606] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.703002] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
[ 0.705718] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.705841] TCP: reno registered
[ 0.705871] UDP hash table entries: 64 (order: 0, 5120 bytes)
[ 0.706268] UDP-Lite hash table entries: 64 (order: 0, 5120 bytes)
[ 0.707641] NET: Registered protocol family 1
[ 0.709625] RPC: Registered named UNIX socket transport module.
[ 0.709655] RPC: Registered udp transport module.
[ 0.709686] RPC: Registered tcp transport module.
[ 0.709716] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.710906] Trying to unpack rootfs image as initramfs...
[ 0.713623] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 0.736907] Freeing initrd memory: 2008K
[ 0.737091] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.937377] VFS: Disk quotas dquot_6.5.2
[ 0.937805] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.940093] NFS: Registering the id_resolver key type
[ 0.942779] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.944396] msgmni has been set to 227
[ 0.949035] io scheduler noop registered
[ 0.949096] io scheduler deadline registered
[ 0.949432] io scheduler cfq registered (default)
[ 0.953063] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.962341] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0
[ 1.666015] console [ttyO0] enabled
[ 1.672515] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1
[ 1.682159] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2
[ 1.736358] brd: module loaded
[ 1.766479] loop: module loaded
[ 1.780883] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.789276] OneNAND driver initializing
[ 1.802429] smsc911x: Driver version 2008-10-21
[ 1.819610] smsc911x-mdio: probed
[ 1.823425] smsc911x smsc911x.0: eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=smsc911x-0:01, irq=-1)
[ 1.835083] smsc911x smsc911x.0: eth0: MAC Address: 00:50:c2:7e:90:fc
[ 1.843719] usbcore: registered new interface driver asix
[ 1.850372] usbcore: registered new interface driver cdc_ether
[ 1.857482] usbcore: registered new interface driver net1080
[ 1.864349] usbcore: registered new interface driver cdc_subset
[ 1.871276] usbcore: registered new interface driver zaurus
[ 1.878112] usbcore: registered new interface driver cdc_ncm
[ 1.887359] usbcore: registered new interface driver cdc_wdm
[ 1.893341] Initializing USB Mass Storage driver...
[ 1.899383] usbcore: registered new interface driver usb-storage
[ 1.905944] USB Mass Storage support registered.
[ 1.912384] usbcore: registered new interface driver libusual
[ 1.919433] usbcore: registered new interface driver usbtest
[ 1.927856] mousedev: PS/2 mouse device common for all mice
[ 1.937499] input: TWL4030 Keypad as /devices/platform/omap_i2c.1/i2c-1/1-004a/twl4030_keypad/input/input0
[ 1.958282] ads7846 spi1.0: touchscreen, irq 271
[ 1.967041] input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi_master/spi1/spi1.0/input/input1
[ 1.984100] input: twl4030_pwrbutton as /devices/platform/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input2
[ 1.997650] twl_rtc twl_rtc: Power up reset detected.
[ 2.003173] twl_rtc twl_rtc: Enabling TWL-RTC
[ 2.013977] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[ 2.022430] i2c /dev entries driver
[ 2.031341] Driver for 1-wire Dallas network protocol.
[ 2.041229] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[ 2.050140] twl4030_wdt twl4030_wdt: Failed to register misc device
[ 2.057098] twl4030_wdt: probe of twl4030_wdt failed with error -16
[ 2.081634] usbcore: registered new interface driver usbhid
[ 2.087768] usbhid: USB HID core driver
[ 2.091918] oprofile: hardware counters not available
[ 2.097229] oprofile: using timer interrupt.
[ 2.102966] TCP: cubic registered
[ 2.106597] Initializing XFRM netlink socket
[ 2.111297] NET: Registered protocol family 17
[ 2.116271] NET: Registered protocol family 15
[ 2.121368] Registering the dns_resolver key type
[ 2.126708] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[ 2.135009] ThumbEE CPU extension supported.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-04 5:36 OMAP3EVM not booting on l-o master Mohammed, Afzal
@ 2012-04-04 9:11 ` Mohammed, Afzal
2012-04-05 9:33 ` Paul Walmsley
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-04 9:11 UTC (permalink / raw)
To: linux-omap
Hi,
On Wed, Apr 04, 2012 at 11:06:39, Mohammed, Afzal wrote:
> OMAP3EVM is not booting on l-o master, with default configuration, HEAD
> @33fc21e Linux-omap rebuilt: Updated to v3.4-rc1, merged in most of pending branches.
Reverting merge commit
58adb29 Merge branch 'io_chain_devel_3.4' of git://git.pwsan.com/linux-2.6 into prm
makes OMAP3EVM boot.
Bisecting into this merge could not be done as build was breaking
for most of the individual commits in the merge (except when
HEAD is the last commit of the merge, as below). Assuming broken builds
to be good for bisect, it could get built for,
cca6430 ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle
but with it OMAP3EVM does not boot.
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-04 9:11 ` Mohammed, Afzal
@ 2012-04-05 9:33 ` Paul Walmsley
2012-04-05 10:07 ` Paul Walmsley
2012-04-05 10:11 ` Mohammed, Afzal
0 siblings, 2 replies; 39+ messages in thread
From: Paul Walmsley @ 2012-04-05 9:33 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: linux-omap
Hi
On Wed, 4 Apr 2012, Mohammed, Afzal wrote:
> Reverting merge commit
>
> 58adb29 Merge branch 'io_chain_devel_3.4' of git://git.pwsan.com/linux-2.6 into prm
>
> makes OMAP3EVM boot.
>
> Bisecting into this merge could not be done as build was breaking
> for most of the individual commits in the merge (except when
> HEAD is the last commit of the merge, as below).
I just rebased this series on top of v3.4-rc1 and built each patch in it
successfully, so it sounds like there's some bisection-specific build
problem?
As far as the crashes go, I don't think I have an OMAP3EVM, but I'll take
a look here on the OMAP35xx boards that I do have.
Could you try booting with initcall_debug and posting the boot log?
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 9:33 ` Paul Walmsley
@ 2012-04-05 10:07 ` Paul Walmsley
2012-04-05 16:22 ` Mohammed, Afzal
2012-04-05 21:21 ` Kevin Hilman
2012-04-05 10:11 ` Mohammed, Afzal
1 sibling, 2 replies; 39+ messages in thread
From: Paul Walmsley @ 2012-04-05 10:07 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: linux-omap
[-- Attachment #1: Type: TEXT/PLAIN, Size: 12440 bytes --]
On Thu, 5 Apr 2012, Paul Walmsley wrote:
> I just rebased this series on top of v3.4-rc1 and built each patch in it
> successfully, so it sounds like there's some bisection-specific build
> problem?
Okay, a quick update. Just tried with a different .config, and can
reproduce the following build problem with patch 2 of the IO wakeup
series, in code that is later removed by patch 6:
arch/arm/mach-omap2/pm34xx.c: In function 'omap_sram_idle':
arch/arm/mach-omap2/pm34xx.c:281:4: error: implicit declaration of function 'omap3_reconfigure_io_chain'
That's my mistake and I will correct it here and send a new pull request,
once we figure out what's going on with your boot hang.
> As far as the crashes go, I don't think I have an OMAP3EVM, but I'll take
> a look here on the OMAP35xx boards that I do have.
I just booted the 'io_chain_devel_3.5' branch from
git://git.pwsan.com/linux-2.6 on a 35xx ES3.0 BeagleBoard with no
problems. Could you please try booting this branch on your OMAP3EVM?
- Paul
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.0-rc1-00006-g297624c (paul@dusk) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #404 SMP T2
[ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: OMAP3 Beagle Board
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] OMAP3430/3530 ES3.0 (l2cache iva sgx neon isp )
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c0e53000 s11456 r8192 d13120 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64768
[ 0.000000] Kernel command line: console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=256M rootwait earlyprintk
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 255MB = 255MB total
[ 0.000000] Memory: 246220k/246220k available, 15924k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0619ee8 (6216 kB)
[ 0.000000] .init : 0xc061a000 - 0xc0667cc0 ( 312 kB)
[ 0.000000] .data : 0xc0668000 - 0xc06f9c98 ( 584 kB)
[ 0.000000] .bss : 0xc06f9cbc - 0xc0c4df60 (5457 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:474
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[ 0.000000] Total of 96 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 0.001129] Calibrating delay loop... 471.61 BogoMIPS (lpj=1843200)
[ 0.081909] pid_max: default: 32768 minimum: 301
[ 0.082916] Security Framework initialized
[ 0.083282] Mount-cache hash table entries: 512
[ 0.089874] CPU: Testing write buffer coherency: ok
[ 0.091033] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.091186] Setting up static identity map for 0x80472300 - 0x80472370
[ 0.093597] Brought up 1 CPUs
[ 0.093627] SMP: Total of 1 processors activated (471.61 BogoMIPS).
[ 0.110290] omap_hwmod: usbtll_fck: missing clockdomain for usbtll_fck.
[ 0.120819] dummy:
[ 0.123565] NET: Registered protocol family 16
[ 0.125244] GPMC revision 5.0
[ 0.139343] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
[ 0.140014] OMAP GPIO hardware version 2.5
[ 0.141448] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
[ 0.143920] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
[ 0.145812] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
[ 0.147735] gpiochip_add: registered GPIOs 128 to 159 on device: gpio
[ 0.150115] gpiochip_add: registered GPIOs 160 to 191 on device: gpio
[ 0.159545] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.162933] OMAP3 Beagle Rev: C1/C2/C3
[ 0.181488] Reprogramming SDRC clock to 332000000 Hz
[ 0.182769] Found NAND on CS0
[ 0.182800] Registering NAND on CS0
[ 0.184143] Unable to get DVI reset GPIO
[ 0.184783] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.205902] omap-mcbsp.2: alias fck already exists
[ 0.206970] omap-mcbsp.3: alias fck already exists
[ 0.213409] OMAP DMA hardware revision 4.0
[ 0.306060] bio: create slab <bio-0> at 0
[ 0.317718] SCSI subsystem initialized
[ 0.320770] omap2_mcspi omap2_mcspi.1: master is unqueued, this is deprecated
[ 0.322631] omap2_mcspi omap2_mcspi.2: master is unqueued, this is deprecated
[ 0.324310] omap2_mcspi omap2_mcspi.3: master is unqueued, this is deprecated
[ 0.325958] omap2_mcspi omap2_mcspi.4: master is unqueued, this is deprecated
[ 0.331054] usbcore: registered new interface driver usbfs
[ 0.332489] usbcore: registered new interface driver hub
[ 0.333648] usbcore: registered new device driver usb
[ 0.350738] omap_i2c omap_i2c.1: bus 1 rev1.3.12 at 2600 kHz
[ 0.363159] twl 1-0048: PIH (irq 7) chaining IRQs 320..328
[ 0.363983] twl 1-0048: power (irq 325) chaining IRQs 328..335
[ 0.367584] twl4030_gpio twl4030_gpio: gpio (irq 320) chaining IRQs 336..353
[ 0.369506] gpiochip_add: registered GPIOs 192 to 211 on device: twl4030
[ 0.379791] VMMC1: 1850 <--> 3150 mV at 3000 mV normal standby
[ 0.383148] VDAC: 1800 mV normal standby
[ 0.386169] VDVI: 1800 mV normal standby
[ 0.389831] VSIM: 1800 <--> 3000 mV at 1800 mV normal standby
[ 0.402526] omap_i2c omap_i2c.3: bus 3 rev1.3.12 at 100 kHz
[ 0.415069] Switching to clocksource 32k_counter
[ 0.573272] NET: Registered protocol family 2
[ 0.574493] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.577209] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.577758] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[ 0.583679] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.583801] TCP: reno registered
[ 0.583831] UDP hash table entries: 128 (order: 1, 10240 bytes)
[ 0.584259] UDP-Lite hash table entries: 128 (order: 1, 10240 bytes)
[ 0.585540] NET: Registered protocol family 1
[ 0.587860] RPC: Registered named UNIX socket transport module.
[ 0.587890] RPC: Registered udp transport module.
[ 0.587921] RPC: Registered tcp transport module.
[ 0.587951] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.589294] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.789123] VFS: Disk quotas dquot_6.5.2
[ 0.789581] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.791992] NFS: Registering the id_resolver key type
[ 0.794372] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.795989] msgmni has been set to 480
[ 0.801025] io scheduler noop registered
[ 0.801055] io scheduler deadline registered
[ 0.801391] io scheduler cfq registered (default)
[ 0.804809] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.814666] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0
[ 0.817138] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1
[ 0.819030] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2
[ 1.513580] console [ttyO2] enabled
[ 1.565673] brd: module loaded
[ 1.596466] loop: module loaded
[ 1.610229] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.618103] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit)
[ 1.628662] Creating 5 MTD partitions on "omap2-nand.0":
[ 1.634735] 0x000000000000-0x000000080000 : "X-Loader"
[ 1.649414] 0x000000080000-0x000000260000 : "U-Boot"
[ 1.662841] 0x000000260000-0x000000280000 : "U-Boot Env"
[ 1.674957] 0x000000280000-0x000000680000 : "Kernel"
[ 1.689697] 0x000000680000-0x000010000000 : "File System"
[ 1.912414] OneNAND driver initializing
[ 1.927124] usbcore: registered new interface driver asix
[ 1.933990] usbcore: registered new interface driver cdc_ether
[ 1.941162] usbcore: registered new interface driver net1080
[ 1.948059] usbcore: registered new interface driver cdc_subset
[ 1.955261] usbcore: registered new interface driver zaurus
[ 1.961975] usbcore: registered new interface driver cdc_ncm
[ 1.971313] usbcore: registered new interface driver cdc_wdm
[ 1.977325] Initializing USB Mass Storage driver...
[ 1.983459] usbcore: registered new interface driver usb-storage
[ 1.990539] USB Mass Storage support registered.
[ 1.997406] usbcore: registered new interface driver libusual
[ 2.004547] usbcore: registered new interface driver usbtest
[ 2.012969] mousedev: PS/2 mouse device common for all mice
[ 2.027038] input: twl4030_pwrbutton as /devices/platform/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input0
[ 2.041839] twl_rtc twl_rtc: Power up reset detected.
[ 2.047393] twl_rtc twl_rtc: Enabling TWL-RTC
[ 2.057220] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[ 2.065704] i2c /dev entries driver
[ 2.073730] Driver for 1-wire Dallas network protocol.
[ 2.083709] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[ 2.092620] twl4030_wdt twl4030_wdt: Failed to register misc device
[ 2.099578] twl4030_wdt: probe of twl4030_wdt failed with error -16
[ 2.341522] usbcore: registered new interface driver usbhid
[ 2.347595] usbhid: USB HID core driver
[ 2.351654] oprofile: hardware counters not available
[ 2.357086] oprofile: using timer interrupt.
[ 2.362823] TCP: cubic registered
[ 2.366333] Initializing XFRM netlink socket
[ 2.371185] NET: Registered protocol family 17
[ 2.376007] NET: Registered protocol family 15
[ 2.381225] Registering the dns_resolver key type
[ 2.386566] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[ 2.394897] ThumbEE CPU extension supported.
[ 2.413299] PM: no software I/O chain control; some wakeups may be lost
[ 2.465332] clock: disabling unused clocks to save power
[ 2.477233] VDVI: incomplete constraints, leaving on
[ 2.482910] VDAC: incomplete constraints, leaving on
[ 2.491607] input: gpio-keys as /devices/platform/gpio-keys/input/input1
[ 2.503631] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 2.517578] Waiting for root device /dev/mmcblk0p2...
[ 2.662017] mmc0: new SD card at address 8001
[ 2.670501] mmcblk0: mmc0:8001 SD02G 1.89 GiB
[ 2.683380] mmcblk0: p1 p2
[ 3.949035] kjournald starting. Commit interval 5 seconds
[ 3.955596] EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
[ 4.150268] EXT3-fs (mmcblk0p2): using internal journal
[ 4.160461] EXT3-fs (mmcblk0p2): recovery complete
[ 4.165649] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[ 4.173645] VFS: Mounted root (ext3 filesystem) on device 179:2.
[ 4.181121] Freeing init memory: 308K
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 9:33 ` Paul Walmsley
2012-04-05 10:07 ` Paul Walmsley
@ 2012-04-05 10:11 ` Mohammed, Afzal
2012-04-05 10:17 ` Paul Walmsley
1 sibling, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-05 10:11 UTC (permalink / raw)
To: Paul Walmsley; +Cc: linux-omap
Hi Paul,
On Thu, Apr 05, 2012 at 15:03:36, Paul Walmsley wrote:
> Could you try booting with initcall_debug and posting the boot log?
Logs as follows,
Regards
Afzal
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.0-rc1-11705-g33fc21e (afzal@linux-psp-server.india.ext.ti.com) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #5 SMP Thu Apr 5 15:19:27 IST 2012
[ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: OMAP3 EVM
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 32512
[ 0.000000] free_area_init_node: node 0, pgdat c06b3cc0, node_mem_map c0c0a000
[ 0.000000] Normal zone: 256 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 32256 pages, LIFO batch:7
[ 0.000000] OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp )
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c0d0e000 s11456 r8192 d13120 u32768
[ 0.000000] pcpu-alloc: s11456 r8192 d13120 u32768 alloc=8*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32256
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root/dev/ram rw earlyprintk mem=128M initrd=0x81338000,0x1f6c2f initcall_debug debug
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 127MB = 127MB total
[ 0.000000] Memory: 114536k/114536k available, 16536k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc05d2e34 (5932 kB)
[ 0.000000] .init : 0xc05d3000 - 0xc0621cc0 ( 316 kB)
[ 0.000000] .data : 0xc0622000 - 0xc06b5958 ( 591 kB)
[ 0.000000] .bss : 0xc06b597c - 0xc0c09be0 (5457 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:474
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[ 0.000000] Total of 96 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 0.001129] Calibrating delay loop... 497.82 BogoMIPS (lpj=1941504)
[ 0.085906] pid_max: default: 32768 minimum: 301
[ 0.086883] Security Framework initialized
[ 0.087219] Mount-cache hash table entries: 512
[ 0.093780] CPU: Testing write buffer coherency: ok
[ 0.094970] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.095001] calling init_static_idmap+0x0/0xe0 @ 1
[ 0.095123] Setting up static identity map for 0x804278b8 - 0x80427928
[ 0.095153] initcall init_static_idmap+0x0/0xe0 returned 0 after 0 usecs
[ 0.095184] calling omap4_sar_ram_init+0x0/0x60 @ 1
[ 0.095214] initcall omap4_sar_ram_init+0x0/0x60 returned -12 after 0 usecs
[ 0.095245] initcall omap4_sar_ram_init+0x0/0x60 returned with error code -12
[ 0.095275] calling omap_l2_cache_init+0x0/0xec @ 1
[ 0.095306] initcall omap_l2_cache_init+0x0/0xec returned -19 after 0 usecs
[ 0.095336] calling spawn_ksoftirqd+0x0/0x54 @ 1
[ 0.095825] initcall spawn_ksoftirqd+0x0/0x54 returned 0 after 0 usecs
[ 0.095855] calling init_workqueues+0x0/0x3c8 @ 1
[ 0.097015] initcall init_workqueues+0x0/0x3c8 returned 0 after 0 usecs
[ 0.097045] calling migration_init+0x0/0x78 @ 1
[ 0.097106] initcall migration_init+0x0/0x78 returned 0 after 0 usecs
[ 0.097137] calling cpu_stop_init+0x0/0xd8 @ 1
[ 0.097473] initcall cpu_stop_init+0x0/0xd8 returned 0 after 0 usecs
[ 0.097503] calling rcu_scheduler_really_started+0x0/0x18 @ 1
[ 0.097534] initcall rcu_scheduler_really_started+0x0/0x18 returned 0 after 0 usecs
[ 0.097564] calling tracer_alloc_buffers+0x0/0x1a0 @ 1
[ 0.098052] initcall tracer_alloc_buffers+0x0/0x1a0 returned 0 after 0 usecs
[ 0.098083] calling init_trace_printk+0x0/0xc @ 1
[ 0.098114] initcall init_trace_printk+0x0/0xc returned 0 after 0 usecs
[ 0.098144] Brought up 1 CPUs
[ 0.098175] SMP: Total of 1 processors activated (497.82 BogoMIPS).
[ 0.113342] calling ipc_ns_init+0x0/0x40 @ 1
[ 0.113403] initcall ipc_ns_init+0x0/0x40 returned 0 after 0 usecs
[ 0.113433] calling init_mmap_min_addr+0x0/0x20 @ 1
[ 0.113464] initcall init_mmap_min_addr+0x0/0x20 returned 0 after 0 usecs
[ 0.113494] calling init_atomic64_lock+0x0/0x3c @ 1
[ 0.113525] initcall init_atomic64_lock+0x0/0x3c returned 0 after 0 usecs
[ 0.113555] calling net_ns_init+0x0/0x19c @ 1
[ 0.113708] initcall net_ns_init+0x0/0x19c returned 0 after 0 usecs
[ 0.113861] calling ptrace_break_init+0x0/0x2c @ 1
[ 0.113952] initcall ptrace_break_init+0x0/0x2c returned 0 after 0 usecs
[ 0.113983] calling consistent_init+0x0/0x128 @ 1
[ 0.114044] initcall consistent_init+0x0/0x128 returned 0 after 0 usecs
[ 0.114074] calling v6_userpage_init+0x0/0x38 @ 1
[ 0.114105] initcall v6_userpage_init+0x0/0x38 returned 0 after 0 usecs
[ 0.114135] calling omap_serial_early_init+0x0/0x144 @ 1
[ 0.114166] ttyO0 used as console in debug mode uart0 clocks will not be gated
[ 0.114227] initcall omap_serial_early_init+0x0/0x144 returned 0 after 0 usecs
[ 0.114257] calling omap_hwmod_setup_all+0x0/0x34 @ 1
[ 0.117523] initcall omap_hwmod_setup_all+0x0/0x34 returned 0 after 7629 usecs
[ 0.117584] calling omap_device_init+0x0/0x20 @ 1
[ 0.117614] initcall omap_device_init+0x0/0x20 returned 0 after 0 usecs
[ 0.117614] calling cpu_hotplug_pm_sync_init+0x0/0x18 @ 1
[ 0.117645] initcall cpu_hotplug_pm_sync_init+0x0/0x18 returned 0 after 0 usecs
[ 0.117675] calling alloc_frozen_cpus+0x0/0x8 @ 1
[ 0.117706] initcall alloc_frozen_cpus+0x0/0x8 returned 0 after 0 usecs
[ 0.117736] calling ksysfs_init+0x0/0x98 @ 1
[ 0.117950] initcall ksysfs_init+0x0/0x98 returned 0 after 0 usecs
[ 0.117980] calling pm_init+0x0/0x78 @ 1
[ 0.118133] initcall pm_init+0x0/0x78 returned 0 after 0 usecs
[ 0.118164] calling init_jiffies_clocksource+0x0/0xc @ 1
[ 0.118255] initcall init_jiffies_clocksource+0x0/0xc returned 0 after 0 usecs
[ 0.118286] calling cpu_pm_init+0x0/0x18 @ 1
[ 0.118408] initcall cpu_pm_init+0x0/0x18 returned 0 after 0 usecs
[ 0.118438] calling init_zero_pfn+0x0/0x44 @ 1
[ 0.118469] initcall init_zero_pfn+0x0/0x44 returned 0 after 0 usecs
[ 0.118499] calling fsnotify_init+0x0/0x34 @ 1
[ 0.118560] initcall fsnotify_init+0x0/0x34 returned 0 after 0 usecs
[ 0.118591] calling filelock_init+0x0/0x40 @ 1
[ 0.118713] initcall filelock_init+0x0/0x40 returned 0 after 0 usecs
[ 0.118743] calling init_misc_binfmt+0x0/0x30 @ 1
[ 0.118865] initcall init_misc_binfmt+0x0/0x30 returned 0 after 0 usecs
[ 0.118896] calling init_script_binfmt+0x0/0x1c @ 1
[ 0.118927] initcall init_script_binfmt+0x0/0x1c returned 0 after 0 usecs
[ 0.118957] calling init_elf_binfmt+0x0/0x1c @ 1
[ 0.118988] initcall init_elf_binfmt+0x0/0x1c returned 0 after 0 usecs
[ 0.119018] calling debugfs_init+0x0/0x60 @ 1
[ 0.119079] initcall debugfs_init+0x0/0x60 returned 0 after 0 usecs
[ 0.119110] calling random32_init+0x0/0xdc @ 1
[ 0.119140] initcall random32_init+0x0/0xdc returned 0 after 0 usecs
[ 0.119171] calling regulator_init+0x0/0x80 @ 1
[ 0.126861] dummy:
[ 0.128265] initcall regulator_init+0x0/0x80 returned 0 after 7629 usecs
[ 0.128295] calling sock_init+0x0/0x94 @ 1
[ 0.129455] initcall sock_init+0x0/0x94 returned 0 after 0 usecs
[ 0.129486] calling netlink_proto_init+0x0/0x1a0 @ 1
[ 0.129791] NET: Registered protocol family 16
[ 0.130065] initcall netlink_proto_init+0x0/0x1a0 returned 0 after 0 usecs
[ 0.130279] calling omap4_l3_init+0x0/0xe8 @ 1
[ 0.130310] initcall omap4_l3_init+0x0/0xe8 returned -19 after 0 usecs
[ 0.130310] calling omap3_l3_init+0x0/0xb8 @ 1
[ 0.131500] initcall omap3_l3_init+0x0/0xb8 returned 0 after 0 usecs
[ 0.131530] calling gpmc_init+0x0/0x2e0 @ 1
[ 0.131683] GPMC revision 5.0
[ 0.132049] initcall gpmc_init+0x0/0x2e0 returned 0 after 0 usecs
[ 0.132080] calling omap2_common_pm_init+0x0/0x90 @ 1
[ 0.135192] initcall omap2_common_pm_init+0x0/0x90 returned 0 after 7629 usecs
[ 0.135223] calling omap2_gpio_init+0x0/0x18 @ 1
[ 0.141510] initcall omap2_gpio_init+0x0/0x18 returned 0 after 7629 usecs
[ 0.141540] calling bdi_class_init+0x0/0x58 @ 1
[ 0.142272] initcall bdi_class_init+0x0/0x58 returned 0 after 0 usecs
[ 0.142333] calling kobject_uevent_init+0x0/0x20 @ 1
[ 0.142486] initcall kobject_uevent_init+0x0/0x20 returned 0 after 0 usecs
[ 0.142517] calling gpiolib_sysfs_init+0x0/0x98 @ 1
[ 0.143341] initcall gpiolib_sysfs_init+0x0/0x98 returned 0 after 0 usecs
[ 0.143371] calling omap_gpio_drv_reg+0x0/0xc @ 1
[ 0.146240] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
[ 0.146911] OMAP GPIO hardware version 2.5
[ 0.148284] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
[ 0.150756] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
[ 0.152679] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
[ 0.154541] gpiochip_add: registered GPIOs 128 to 159 on device: gpio
[ 0.156799] gpiochip_add: registered GPIOs 160 to 191 on device: gpio
[ 0.158172] initcall omap_gpio_drv_reg+0x0/0xc returned 0 after 15258 usecs
[ 0.158203] calling lcd_class_init+0x0/0x58 @ 1
[ 0.158874] initcall lcd_class_init+0x0/0x58 returned 0 after 0 usecs
[ 0.158905] calling tty_class_init+0x0/0x44 @ 1
[ 0.159515] initcall tty_class_init+0x0/0x44 returned 0 after 0 usecs
[ 0.159545] calling vtconsole_class_init+0x0/0xec @ 1
[ 0.161285] initcall vtconsole_class_init+0x0/0xec returned 0 after 0 usecs
[ 0.161315] calling wakeup_sources_debugfs_init+0x0/0x44 @ 1
[ 0.161437] initcall wakeup_sources_debugfs_init+0x0/0x44 returned 0 after 0 usecs
[ 0.161468] calling regmap_initcall+0x0/0x10 @ 1
[ 0.161529] initcall regmap_initcall+0x0/0x10 returned 0 after 0 usecs
[ 0.161560] calling spi_init+0x0/0x8c @ 1
[ 0.162963] initcall spi_init+0x0/0x8c returned 0 after 0 usecs
[ 0.162994] calling i2c_init+0x0/0x74 @ 1
[ 0.164916] initcall i2c_init+0x0/0x74 returned 0 after 7629 usecs
[ 0.164947] calling omap3_l3_init+0x0/0x14 @ 1
[ 0.166076] initcall omap3_l3_init+0x0/0x14 returned 0 after 0 usecs
[ 0.166107] calling omap4_l3_init+0x0/0xc @ 1
[ 0.166839] initcall omap4_l3_init+0x0/0xc returned 0 after 0 usecs
[ 0.167022] calling gate_vma_init+0x0/0x40 @ 1
[ 0.167053] initcall gate_vma_init+0x0/0x40 returned 0 after 0 usecs
[ 0.167083] calling customize_machine+0x0/0x28 @ 1
[ 0.168029] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.185943] Reprogramming SDRC clock to 332000000 Hz
[ 0.298278] initcall customize_machine+0x0/0x28 returned 0 after 129699 usecs
[ 0.298339] calling init_atags_procfs+0x0/0xe4 @ 1
[ 0.298400] initcall init_atags_procfs+0x0/0xe4 returned 0 after 0 usecs
[ 0.298431] calling arch_hw_breakpoint_init+0x0/0x1e8 @ 1
[ 0.298461] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.298492] initcall arch_hw_breakpoint_init+0x0/0x1e8 returned 0 after 0 usecs
[ 0.298522] calling exceptions_init+0x0/0x90 @ 1
[ 0.298553] initcall exceptions_init+0x0/0x90 returned 0 after 0 usecs
[ 0.298583] calling omap2_init_devices+0x0/0x74 @ 1
[ 0.304321] initcall omap2_init_devices+0x0/0x74 returned 0 after 0 usecs
[ 0.304382] calling omap2_dm_timer_init+0x0/0x40 @ 1
[ 0.316680] initcall omap2_dm_timer_init+0x0/0x40 returned 0 after 15258 usecs
[ 0.316741] calling omap2_system_dma_init+0x0/0x18 @ 1
[ 0.317810] initcall omap2_system_dma_init+0x0/0x18 returned 0 after 0 usecs
[ 0.317840] calling omap2_mcbsp_init+0x0/0x24 @ 1
[ 0.319061] omap-mcbsp.2: alias fck already exists
[ 0.320068] omap-mcbsp.3: alias fck already exists
[ 0.323364] initcall omap2_mcbsp_init+0x0/0x24 returned 0 after 7629 usecs
[ 0.323425] calling pm_dbg_init+0x0/0xcc @ 1
[ 0.325012] initcall pm_dbg_init+0x0/0xcc returned 0 after 0 usecs
[ 0.325042] calling omap2xxx_clk_arch_init+0x0/0x50 @ 1
[ 0.325073] initcall omap2xxx_clk_arch_init+0x0/0x50 returned 0 after 0 usecs
[ 0.325103] calling omap3xxx_clk_arch_init+0x0/0x50 @ 1
[ 0.325134] initcall omap3xxx_clk_arch_init+0x0/0x50 returned -22 after 0 usecs
[ 0.325164] initcall omap3xxx_clk_arch_init+0x0/0x50 returned with error code -22
[ 0.325195] calling omap_init_devices+0x0/0x18 @ 1
[ 0.326141] initcall omap_init_devices+0x0/0x18 returned 0 after 0 usecs
[ 0.326171] calling omap_system_dma_init+0x0/0xc @ 1
[ 0.326843] OMAP DMA hardware revision 4.0
[ 0.327606] initcall omap_system_dma_init+0x0/0xc returned 0 after 0 usecs
[ 0.327636] calling omap_init_fb+0x0/0xc @ 1
[ 0.329040] initcall omap_init_fb+0x0/0xc returned 0 after 7629 usecs
[ 0.329071] calling omap_vram_init+0x0/0x8c @ 1
[ 0.329193] initcall omap_vram_init+0x0/0x8c returned 0 after 0 usecs
[ 0.329376] calling topology_init+0x0/0x74 @ 1
[ 0.330413] initcall topology_init+0x0/0x74 returned 0 after 0 usecs
[ 0.330444] calling omap_init_wdt+0x0/0xd0 @ 1
[ 0.331573] initcall omap_init_wdt+0x0/0xd0 returned 0 after 0 usecs
[ 0.331604] calling omap4xxx_prcm_init+0x0/0x40 @ 1
[ 0.331634] initcall omap4xxx_prcm_init+0x0/0x40 returned 0 after 0 usecs
[ 0.331665] calling omap3xxx_prcm_init+0x0/0x50 @ 1
[ 0.331817] initcall omap3xxx_prcm_init+0x0/0x50 returned 0 after 0 usecs
[ 0.331848] calling rx51_video_init+0x0/0x90 @ 1
[ 0.331878] initcall rx51_video_init+0x0/0x90 returned 0 after 0 usecs
[ 0.331909] calling omap_register_i2c_bus_cmdline+0x0/0x50 @ 1
[ 0.331939] initcall omap_register_i2c_bus_cmdline+0x0/0x50 returned 0 after 0 usecs
[ 0.331970] calling param_sysfs_init+0x0/0x1a0 @ 1
[ 0.415740] initcall param_sysfs_init+0x0/0x1a0 returned 0 after 83923 usecs
[ 0.415771] calling pm_sysrq_init+0x0/0x1c @ 1
[ 0.415924] initcall pm_sysrq_init+0x0/0x1c returned 0 after 0 usecs
[ 0.415985] calling default_bdi_init+0x0/0xa8 @ 1
[ 0.418121] initcall default_bdi_init+0x0/0xa8 returned 0 after 0 usecs
[ 0.418151] calling init_bio+0x0/0xfc @ 1
[ 0.418762] bio: create slab <bio-0> at 0
[ 0.418853] initcall init_bio+0x0/0xfc returned 0 after 0 usecs
[ 0.418884] calling fsnotify_notification_init+0x0/0x9c @ 1
[ 0.419067] initcall fsnotify_notification_init+0x0/0x9c returned 0 after 0 usecs
[ 0.419097] calling cryptomgr_init+0x0/0xc @ 1
[ 0.419128] initcall cryptomgr_init+0x0/0xc returned 0 after 0 usecs
[ 0.419158] calling blk_settings_init+0x0/0x34 @ 1
[ 0.419189] initcall blk_settings_init+0x0/0x34 returned 0 after 0 usecs
[ 0.419189] calling blk_ioc_init+0x0/0x40 @ 1
[ 0.419311] initcall blk_ioc_init+0x0/0x40 returned 0 after 0 usecs
[ 0.419342] calling blk_softirq_init+0x0/0x84 @ 1
[ 0.419372] initcall blk_softirq_init+0x0/0x84 returned 0 after 0 usecs
[ 0.419403] calling blk_iopoll_setup+0x0/0x84 @ 1
[ 0.419433] initcall blk_iopoll_setup+0x0/0x84 returned 0 after 0 usecs
[ 0.419464] calling genhd_device_init+0x0/0x84 @ 1
[ 0.420928] initcall genhd_device_init+0x0/0x84 returned 0 after 0 usecs
[ 0.420959] calling gpiolib_debugfs_init+0x0/0x3c @ 1
[ 0.421081] initcall gpiolib_debugfs_init+0x0/0x3c returned 0 after 0 usecs
[ 0.421112] calling gpio_twl4030_init+0x0/0xc @ 1
[ 0.422637] initcall gpio_twl4030_init+0x0/0xc returned 0 after 7629 usecs
[ 0.422668] calling fbmem_init+0x0/0xb0 @ 1
[ 0.423614] initcall fbmem_init+0x0/0xb0 returned 0 after 0 usecs
[ 0.423645] calling regulator_fixed_voltage_init+0x0/0xc @ 1
[ 0.424926] dummy:
[ 0.425109] dummy: Failed to create debugfs directory
[ 0.425994] initcall regulator_fixed_voltage_init+0x0/0xc returned 0 after 0 usecs
[ 0.426025] calling tps_65023_init+0x0/0x10 @ 1
[ 0.426727] initcall tps_65023_init+0x0/0x10 returned 0 after 0 usecs
[ 0.426757] calling tps6507x_pmic_init+0x0/0xc @ 1
[ 0.427581] initcall tps6507x_pmic_init+0x0/0xc returned 0 after 0 usecs
[ 0.427612] calling twlreg_init+0x0/0xc @ 1
[ 0.428466] initcall twlreg_init+0x0/0xc returned 0 after 0 usecs
[ 0.428497] calling misc_init+0x0/0xc0 @ 1
[ 0.429199] initcall misc_init+0x0/0xc0 returned 0 after 0 usecs
[ 0.429229] calling cn_init+0x0/0xac @ 1
[ 0.429382] initcall cn_init+0x0/0xac returned 0 after 0 usecs
[ 0.429412] calling twl_init+0x0/0x10 @ 1
[ 0.430511] initcall twl_init+0x0/0x10 returned 0 after 7629 usecs
[ 0.430541] calling init_scsi+0x0/0x88 @ 1
[ 0.433563] SCSI subsystem initialized
[ 0.433624] initcall init_scsi+0x0/0x88 returned 0 after 0 usecs
[ 0.433654] calling omap2_mcspi_init+0x0/0x14 @ 1
[ 0.436187] omap2_mcspi omap2_mcspi.1: master is unqueued, this is deprecated
[ 0.440551] omap2_mcspi omap2_mcspi.2: master is unqueued, this is deprecated
[ 0.442138] omap2_mcspi omap2_mcspi.3: master is unqueued, this is deprecated
[ 0.443664] omap2_mcspi omap2_mcspi.4: master is unqueued, this is deprecated
[ 0.444519] initcall omap2_mcspi_init+0x0/0x14 returned 0 after 7629 usecs
[ 0.444549] calling phy_init+0x0/0x3c @ 1
[ 0.446899] initcall phy_init+0x0/0x3c returned 0 after 7629 usecs
[ 0.446929] calling usb_init+0x0/0x17c @ 1
[ 0.448669] usbcore: registered new interface driver usbfs
[ 0.450103] usbcore: registered new interface driver hub
[ 0.451263] usbcore: registered new device driver usb
[ 0.451293] initcall usb_init+0x0/0x17c returned 0 after 0 usecs
[ 0.451324] calling usb_udc_init+0x0/0x58 @ 1
[ 0.451965] initcall usb_udc_init+0x0/0x58 returned 0 after 0 usecs
[ 0.451995] calling serio_init+0x0/0x38 @ 1
[ 0.452728] initcall serio_init+0x0/0x38 returned 0 after 0 usecs
[ 0.452758] calling input_init+0x0/0x11c @ 1
[ 0.454010] initcall input_init+0x0/0x11c returned 0 after 7629 usecs
[ 0.454040] calling rtc_init+0x0/0x74 @ 1
[ 0.454711] initcall rtc_init+0x0/0x74 returned 0 after 0 usecs
[ 0.454742] calling omap_i2c_init_driver+0x0/0xc @ 1
[ 0.469177] omap_i2c omap_i2c.1: bus 1 rev1.3.12 at 2600 kHz
[ 0.481658] twl 1-0048: PIH (irq 7) chaining IRQs 320..328
[ 0.482482] twl 1-0048: power (irq 325) chaining IRQs 328..335
[ 0.485992] twl4030_gpio twl4030_gpio: gpio (irq 320) chaining IRQs 336..353
[ 0.487976] gpiochip_add: registered GPIOs 192 to 211 on device: twl4030
[ 0.501861] VIO: 1800 mV normal standby
[ 0.505065] vdd_mpu_iva: 600 <--> 1450 mV normal
[ 0.507720] vdd_core: 600 <--> 1450 mV normal
[ 0.511260] VMMC1: 1850 <--> 3150 mV at 3000 mV normal standby
[ 0.514312] VDAC: 1800 mV normal standby
[ 0.517791] VPLL2: 1800 mV normal standby
[ 0.520904] VSIM: 1800 <--> 3000 mV at 1800 mV normal standby
[ 0.522399] omap_i2c omap_i2c.2: bus 2 rev1.3.12 at 400 kHz
[ 0.539276] omap_i2c omap_i2c.3: bus 3 rev1.3.12 at 400 kHz
[ 0.541351] initcall omap_i2c_init_driver+0x0/0xc returned 0 after 83923 usecs
[ 0.541381] calling power_supply_class_init+0x0/0x50 @ 1
[ 0.542053] initcall power_supply_class_init+0x0/0x50 returned 0 after 0 usecs
[ 0.542083] calling hwmon_init+0x0/0x48 @ 1
[ 0.542694] initcall hwmon_init+0x0/0x48 returned 0 after 0 usecs
[ 0.542724] calling mmc_init+0x0/0x80 @ 1
[ 0.544769] initcall mmc_init+0x0/0x80 returned 0 after 0 usecs
[ 0.544799] calling proto_init+0x0/0xc @ 1
[ 0.544891] initcall proto_init+0x0/0xc returned 0 after 0 usecs
[ 0.544891] calling net_dev_init+0x0/0x208 @ 1
[ 0.550628] initcall net_dev_init+0x0/0x208 returned 0 after 7629 usecs
[ 0.550659] calling neigh_init+0x0/0xa4 @ 1
[ 0.550689] initcall neigh_init+0x0/0xa4 returned 0 after 0 usecs
[ 0.550720] calling genl_init+0x0/0x98 @ 1
[ 0.551055] initcall genl_init+0x0/0x98 returned 0 after 0 usecs
[ 0.551086] calling wireless_nlevent_init+0x0/0xc @ 1
[ 0.551116] initcall wireless_nlevent_init+0x0/0xc returned 0 after 0 usecs
[ 0.551147] calling net_sysctl_init+0x0/0x48 @ 1
[ 0.551177] initcall net_sysctl_init+0x0/0x48 returned 0 after 0 usecs
[ 0.551391] calling proc_cpu_init+0x0/0x24 @ 1
[ 0.551452] initcall proc_cpu_init+0x0/0x24 returned 0 after 0 usecs
[ 0.551483] calling dma_debug_do_init+0x0/0x20 @ 1
[ 0.551544] initcall dma_debug_do_init+0x0/0x20 returned 0 after 0 usecs
[ 0.551544] calling alignment_init+0x0/0xe8 @ 1
[ 0.551605] initcall alignment_init+0x0/0xe8 returned 0 after 0 usecs
[ 0.551635] calling clocksource_done_booting+0x0/0x58 @ 1
[ 0.551696] Switching to clocksource 32k_counter
[ 0.552276] initcall clocksource_done_booting+0x0/0x58 returned 0 after 119 usecs
[ 0.552307] calling tracer_init_debugfs+0x0/0x3e0 @ 1
[ 0.555725] initcall tracer_init_debugfs+0x0/0x3e0 returned 0 after 3278 usecs
[ 0.555755] calling init_trace_printk_function_export+0x0/0x40 @ 1
[ 0.555908] initcall init_trace_printk_function_export+0x0/0x40 returned 0 after 89 usecs
[ 0.555938] calling event_trace_init+0x0/0x2a8 @ 1
[ 0.631988] initcall event_trace_init+0x0/0x2a8 returned 0 after 74207 usecs
[ 0.632049] calling init_kprobe_trace+0x0/0xb0 @ 1
[ 0.632171] initcall init_kprobe_trace+0x0/0xb0 returned 0 after 119 usecs
[ 0.632202] calling init_pipe_fs+0x0/0x50 @ 1
[ 0.633056] initcall init_pipe_fs+0x0/0x50 returned 0 after 804 usecs
[ 0.633117] calling eventpoll_init+0x0/0xf0 @ 1
[ 0.633483] initcall eventpoll_init+0x0/0xf0 returned 0 after 327 usecs
[ 0.633514] calling anon_inode_init+0x0/0x64 @ 1
[ 0.634216] initcall anon_inode_init+0x0/0x64 returned 0 after 625 usecs
[ 0.634246] calling blk_scsi_ioctl_init+0x0/0x174 @ 1
[ 0.634277] initcall blk_scsi_ioctl_init+0x0/0x174 returned 0 after 0 usecs
[ 0.634307] calling chr_dev_init+0x0/0xdc @ 1
[ 0.706451] initcall chr_dev_init+0x0/0xdc returned 0 after 70393 usecs
[ 0.706481] calling firmware_class_init+0x0/0x14 @ 1
[ 0.707275] initcall firmware_class_init+0x0/0x14 returned 0 after 715 usecs
[ 0.707305] calling sysctl_core_init+0x0/0x38 @ 1
[ 0.707580] initcall sysctl_core_init+0x0/0x38 returned 0 after 208 usecs
[ 0.707611] calling inet_init+0x0/0x2a0 @ 1
[ 0.708221] NET: Registered protocol family 2
[ 0.709991] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.712707] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.713073] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
[ 0.715789] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.715911] TCP: reno registered
[ 0.715942] UDP hash table entries: 64 (order: 0, 5120 bytes)
[ 0.716461] UDP-Lite hash table entries: 64 (order: 0, 5120 bytes)
[ 0.717651] initcall inet_init+0x0/0x2a0 returned 0 after 9745 usecs
[ 0.717681] calling af_unix_init+0x0/0x54 @ 1
[ 0.717803] NET: Registered protocol family 1
[ 0.717956] initcall af_unix_init+0x0/0x54 returned 0 after 208 usecs
[ 0.717987] calling init_sunrpc+0x0/0x60 @ 1
[ 0.719879] RPC: Registered named UNIX socket transport module.
[ 0.719909] RPC: Registered udp transport module.
[ 0.719909] RPC: Registered tcp transport module.
[ 0.719940] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.719970] initcall init_sunrpc+0x0/0x60 returned 0 after 1907 usecs
[ 0.720031] calling populate_rootfs+0x0/0x220 @ 1
[ 0.721221] Trying to unpack rootfs image as initramfs...
[ 0.723937] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 0.746795] Freeing initrd memory: 2008K
[ 0.746856] initcall populate_rootfs+0x0/0x220 returned 0 after 26166 usecs
[ 0.747039] calling fpe_init+0x0/0x78 @ 1
[ 0.747070] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.747192] initcall fpe_init+0x0/0x78 returned 0 after 119 usecs
[ 0.747222] calling sched_clock_syscore_init+0x0/0x18 @ 1
[ 0.747283] initcall sched_clock_syscore_init+0x0/0x18 returned 0 after 29 usecs
[ 0.747314] calling timer_init_syscore_ops+0x0/0x18 @ 1
[ 0.747344] initcall timer_init_syscore_ops+0x0/0x18 returned 0 after 29 usecs
[ 0.747375] calling leds_init+0x0/0x58 @ 1
[ 0.749694] initcall leds_init+0x0/0x58 returned 0 after 2235 usecs
[ 0.749725] calling omap3_opp_init+0x0/0x58 @ 1
[ 0.750396] initcall omap3_opp_init+0x0/0x58 returned 0 after 596 usecs
[ 0.750427] calling omap4_opp_init+0x0/0x30 @ 1
[ 0.750457] initcall omap4_opp_init+0x0/0x30 returned -19 after 0 usecs
[ 0.750488] calling omap_dm_timer_driver_init+0x0/0xc @ 1
[ 0.754302] initcall omap_dm_timer_driver_init+0x0/0xc returned 0 after 3665 usecs
[ 0.754333] calling proc_execdomains_init+0x0/0x38 @ 1
[ 0.754425] initcall proc_execdomains_init+0x0/0x38 returned 0 after 29 usecs
[ 0.754455] calling ioresources_init+0x0/0x58 @ 1
[ 0.754516] initcall ioresources_init+0x0/0x58 returned 0 after 59 usecs
[ 0.754547] calling uid_cache_init+0x0/0x94 @ 1
[ 0.754852] initcall uid_cache_init+0x0/0x94 returned 0 after 238 usecs
[ 0.754882] calling init_posix_timers+0x0/0x1cc @ 1
[ 0.755065] initcall init_posix_timers+0x0/0x1cc returned 0 after 119 usecs
[ 0.755096] calling init_posix_cpu_timers+0x0/0xe4 @ 1
[ 0.755126] initcall init_posix_cpu_timers+0x0/0xe4 returned 0 after 0 usecs
[ 0.755157] calling proc_schedstat_init+0x0/0x38 @ 1
[ 0.755218] initcall proc_schedstat_init+0x0/0x38 returned 0 after 29 usecs
[ 0.755249] calling init_sched_debug_procfs+0x0/0x40 @ 1
[ 0.755310] initcall init_sched_debug_procfs+0x0/0x40 returned 0 after 59 usecs
[ 0.755340] calling create_proc_profile+0x0/0x254 @ 1
[ 0.755584] initcall create_proc_profile+0x0/0x254 returned 0 after 0 usecs
[ 0.755645] calling timekeeping_init_ops+0x0/0x18 @ 1
[ 0.755676] initcall timekeeping_init_ops+0x0/0x18 returned 0 after 29 usecs
[ 0.755706] calling init_clocksource_sysfs+0x0/0x54 @ 1
[ 0.757659] initcall init_clocksource_sysfs+0x0/0x54 returned 0 after 1877 usecs
[ 0.757690] calling init_timer_list_procfs+0x0/0x40 @ 1
[ 0.757781] initcall init_timer_list_procfs+0x0/0x40 returned 0 after 29 usecs
[ 0.757812] calling alarmtimer_init+0x0/0x1cc @ 1
[ 0.760009] initcall alarmtimer_init+0x0/0x1cc returned 0 after 2115 usecs
[ 0.760070] calling init_tstats_procfs+0x0/0x40 @ 1
[ 0.760131] initcall init_tstats_procfs+0x0/0x40 returned 0 after 29 usecs
[ 0.760162] calling lockdep_proc_init+0x0/0x74 @ 1
[ 0.760253] initcall lockdep_proc_init+0x0/0x74 returned 0 after 89 usecs
[ 0.760284] calling futex_init+0x0/0x84 @ 1
[ 0.760498] initcall futex_init+0x0/0x84 returned 0 after 149 usecs
[ 0.760528] calling proc_modules_init+0x0/0x38 @ 1
[ 0.760559] initcall proc_modules_init+0x0/0x38 returned 0 after 29 usecs
[ 0.760589] calling kallsyms_init+0x0/0x38 @ 1
[ 0.760650] initcall kallsyms_init+0x0/0x38 returned 0 after 29 usecs
[ 0.760681] calling crash_save_vmcoreinfo_init+0x0/0x3b4 @ 1
[ 0.760833] initcall crash_save_vmcoreinfo_init+0x0/0x3b4 returned 0 after 119 usecs
[ 0.760864] calling crash_notes_memory_init+0x0/0x40 @ 1
[ 0.760925] initcall crash_notes_memory_init+0x0/0x40 returned 0 after 59 usecs
[ 0.760955] calling ikconfig_init+0x0/0x54 @ 1
[ 0.761016] initcall ikconfig_init+0x0/0x54 returned 0 after 29 usecs
[ 0.761047] calling init_kprobes+0x0/0x10c @ 1
[ 0.941192] initcall init_kprobes+0x0/0x10c returned 0 after 175833 usecs
[ 0.941223] calling irq_gc_init_ops+0x0/0x18 @ 1
[ 0.941284] initcall irq_gc_init_ops+0x0/0x18 returned 0 after 0 usecs
[ 0.941314] calling irq_pm_init_ops+0x0/0x18 @ 1
[ 0.941345] initcall irq_pm_init_ops+0x0/0x18 returned 0 after 0 usecs
[ 0.941375] calling utsname_sysctl_init+0x0/0x18 @ 1
[ 0.941467] initcall utsname_sysctl_init+0x0/0x18 returned 0 after 59 usecs
[ 0.941497] calling init_tracepoints+0x0/0xc @ 1
[ 0.941528] initcall init_tracepoints+0x0/0xc returned 0 after 0 usecs
[ 0.941558] calling init_events+0x0/0x6c @ 1
[ 0.941650] initcall init_events+0x0/0x6c returned 0 after 29 usecs
[ 0.941680] calling perf_event_sysfs_init+0x0/0xbc @ 1
[ 0.946899] initcall perf_event_sysfs_init+0x0/0xbc returned 0 after 5066 usecs
[ 0.946929] calling init_per_zone_wmark_min+0x0/0x94 @ 1
[ 0.947326] initcall init_per_zone_wmark_min+0x0/0x94 returned 0 after 327 usecs
[ 0.947357] calling kswapd_init+0x0/0x24 @ 1
[ 0.947845] initcall kswapd_init+0x0/0x24 returned 0 after 476 usecs
[ 0.947875] calling setup_vmstat+0x0/0xec @ 1
[ 0.948059] initcall setup_vmstat+0x0/0xec returned 0 after 119 usecs
[ 0.948089] calling mm_sysfs_init+0x0/0x3c @ 1
[ 0.948150] initcall mm_sysfs_init+0x0/0x3c returned 0 after 59 usecs
[ 0.948181] calling proc_vmalloc_init+0x0/0x38 @ 1
[ 0.948242] initcall proc_vmalloc_init+0x0/0x38 returned 0 after 29 usecs
[ 0.948272] calling memblock_init_debugfs+0x0/0x78 @ 1
[ 0.948486] initcall memblock_init_debugfs+0x0/0x78 returned 0 after 178 usecs
[ 0.948516] calling procswaps_init+0x0/0x38 @ 1
[ 0.948577] initcall procswaps_init+0x0/0x38 returned 0 after 29 usecs
[ 0.948608] calling slab_proc_init+0x0/0x38 @ 1
[ 0.948669] initcall slab_proc_init+0x0/0x38 returned 0 after 0 usecs
[ 0.948699] calling cpucache_init+0x0/0x5c @ 1
[ 0.948730] initcall cpucache_init+0x0/0x5c returned 0 after 29 usecs
[ 0.948760] calling fcntl_init+0x0/0x40 @ 1
[ 0.948944] initcall fcntl_init+0x0/0x40 returned 0 after 149 usecs
[ 0.948974] calling proc_filesystems_init+0x0/0x38 @ 1
[ 0.949035] initcall proc_filesystems_init+0x0/0x38 returned 0 after 29 usecs
[ 0.949066] calling dio_init+0x0/0x40 @ 1
[ 0.949218] initcall dio_init+0x0/0x40 returned 0 after 119 usecs
[ 0.949249] calling fsnotify_mark_init+0x0/0x40 @ 1
[ 0.949523] initcall fsnotify_mark_init+0x0/0x40 returned 0 after 268 usecs
[ 0.949554] calling dnotify_init+0x0/0x84 @ 1
[ 0.949859] initcall dnotify_init+0x0/0x84 returned 0 after 238 usecs
[ 0.949890] calling inotify_user_setup+0x0/0x78 @ 1
[ 0.950103] initcall inotify_user_setup+0x0/0x78 returned 0 after 178 usecs
[ 0.950103] calling aio_setup+0x0/0x90 @ 1
[ 0.950378] initcall aio_setup+0x0/0x90 returned 0 after 208 usecs
[ 0.950408] calling proc_locks_init+0x0/0x38 @ 1
[ 0.950469] initcall proc_locks_init+0x0/0x38 returned 0 after 59 usecs
[ 0.950500] calling dquot_init+0x0/0x138 @ 1
[ 0.950531] VFS: Disk quotas dquot_6.5.2
[ 0.951171] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.951202] initcall dquot_init+0x0/0x138 returned 0 after 685 usecs
[ 0.951232] calling init_v2_quota_format+0x0/0x28 @ 1
[ 0.951446] initcall init_v2_quota_format+0x0/0x28 returned 0 after 178 usecs
[ 0.951477] calling proc_cmdline_init+0x0/0x38 @ 1
[ 0.951568] initcall proc_cmdline_init+0x0/0x38 returned 0 after 29 usecs
[ 0.951599] calling proc_consoles_init+0x0/0x38 @ 1
[ 0.951629] initcall proc_consoles_init+0x0/0x38 returned 0 after 29 usecs
[ 0.951660] calling proc_cpuinfo_init+0x0/0x38 @ 1
[ 0.951721] initcall proc_cpuinfo_init+0x0/0x38 returned 0 after 29 usecs
[ 0.951751] calling proc_devices_init+0x0/0x38 @ 1
[ 0.951812] initcall proc_devices_init+0x0/0x38 returned 0 after 0 usecs
[ 0.951843] calling proc_interrupts_init+0x0/0x38 @ 1
[ 0.951904] initcall proc_interrupts_init+0x0/0x38 returned 0 after 29 usecs
[ 0.951934] calling proc_loadavg_init+0x0/0x38 @ 1
[ 0.951965] initcall proc_loadavg_init+0x0/0x38 returned 0 after 29 usecs
[ 0.951995] calling proc_meminfo_init+0x0/0x38 @ 1
[ 0.952056] initcall proc_meminfo_init+0x0/0x38 returned 0 after 29 usecs
[ 0.952087] calling proc_stat_init+0x0/0x38 @ 1
[ 0.952148] initcall proc_stat_init+0x0/0x38 returned 0 after 29 usecs
[ 0.952178] calling proc_uptime_init+0x0/0x38 @ 1
[ 0.952209] initcall proc_uptime_init+0x0/0x38 returned 0 after 29 usecs
[ 0.952239] calling proc_version_init+0x0/0x38 @ 1
[ 0.952301] initcall proc_version_init+0x0/0x38 returned 0 after 29 usecs
[ 0.952331] calling proc_softirqs_init+0x0/0x38 @ 1
[ 0.952392] initcall proc_softirqs_init+0x0/0x38 returned 0 after 29 usecs
[ 0.952423] calling proc_kmsg_init+0x0/0x38 @ 1
[ 0.952484] initcall proc_kmsg_init+0x0/0x38 returned 0 after 29 usecs
[ 0.952514] calling proc_page_init+0x0/0x58 @ 1
[ 0.952575] initcall proc_page_init+0x0/0x58 returned 0 after 59 usecs
[ 0.952606] calling init_devpts_fs+0x0/0x68 @ 1
[ 0.953552] initcall init_devpts_fs+0x0/0x68 returned 0 after 894 usecs
[ 0.953582] calling init_ext3_fs+0x0/0x78 @ 1
[ 0.953765] initcall init_ext3_fs+0x0/0x78 returned 0 after 149 usecs
[ 0.953796] calling init_ext2_fs+0x0/0x78 @ 1
[ 0.953918] initcall init_ext2_fs+0x0/0x78 returned 0 after 119 usecs
[ 0.953948] calling journal_init+0x0/0xb4 @ 1
[ 0.954406] initcall journal_init+0x0/0xb4 returned 0 after 387 usecs
[ 0.954437] calling init_cramfs_fs+0x0/0x3c @ 1
[ 0.954528] initcall init_cramfs_fs+0x0/0x3c returned 0 after 89 usecs
[ 0.954559] calling init_ramfs_fs+0x0/0xc @ 1
[ 0.954589] initcall init_ramfs_fs+0x0/0xc returned 0 after 0 usecs
[ 0.954620] calling init_fat_fs+0x0/0x60 @ 1
[ 0.954864] initcall init_fat_fs+0x0/0x60 returned 0 after 178 usecs
[ 0.954895] calling init_vfat_fs+0x0/0xc @ 1
[ 0.954925] initcall init_vfat_fs+0x0/0xc returned 0 after 0 usecs
[ 0.954956] calling init_msdos_fs+0x0/0xc @ 1
[ 0.954986] initcall init_msdos_fs+0x0/0xc returned 0 after 0 usecs
[ 0.955017] calling init_nfs_fs+0x0/0x144 @ 1
[ 0.955017] NFS: Registering the id_resolver key type
[ 0.957427] initcall init_nfs_fs+0x0/0x144 returned 0 after 2324 usecs
[ 0.957458] calling init_nlm+0x0/0x4c @ 1
[ 0.957550] initcall init_nlm+0x0/0x4c returned 0 after 59 usecs
[ 0.957580] calling init_nls_cp437+0x0/0xc @ 1
[ 0.957733] initcall init_nls_cp437+0x0/0xc returned 0 after 89 usecs
[ 0.957763] calling init_nls_iso8859_1+0x0/0xc @ 1
[ 0.957794] initcall init_nls_iso8859_1+0x0/0xc returned 0 after 0 usecs
[ 0.957824] calling init_jffs2_fs+0x0/0xd8 @ 1
[ 0.957855] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.959747] initcall init_jffs2_fs+0x0/0xd8 returned 0 after 1847 usecs
[ 0.959777] calling ipc_init+0x0/0x24 @ 1
[ 0.959838] msgmni has been set to 227
[ 0.959930] initcall ipc_init+0x0/0x24 returned 0 after 149 usecs
[ 0.959960] calling ipc_sysctl_init+0x0/0x18 @ 1
[ 0.960052] initcall ipc_sysctl_init+0x0/0x18 returned 0 after 59 usecs
[ 0.960083] calling init_mqueue_fs+0x0/0xc0 @ 1
[ 0.961181] initcall init_mqueue_fs+0x0/0xc0 returned 0 after 1043 usecs
[ 0.961212] calling key_proc_init+0x0/0x4c @ 1
[ 0.961303] initcall key_proc_init+0x0/0x4c returned 0 after 29 usecs
[ 0.961303] calling crypto_wq_init+0x0/0x48 @ 1
[ 0.961700] initcall crypto_wq_init+0x0/0x48 returned 0 after 357 usecs
[ 0.961730] calling crypto_algapi_init+0x0/0x10 @ 1
[ 0.961822] initcall crypto_algapi_init+0x0/0x10 returned 0 after 29 usecs
[ 0.961853] calling skcipher_module_init+0x0/0x48 @ 1
[ 0.961883] initcall skcipher_module_init+0x0/0x48 returned 0 after 0 usecs
[ 0.961914] calling chainiv_module_init+0x0/0xc @ 1
[ 0.962310] initcall chainiv_module_init+0x0/0xc returned 0 after 387 usecs
[ 0.962371] calling eseqiv_module_init+0x0/0xc @ 1
[ 0.962402] initcall eseqiv_module_init+0x0/0xc returned 0 after 29 usecs
[ 0.962432] calling deflate_mod_init+0x0/0xc @ 1
[ 0.963409] initcall deflate_mod_init+0x0/0xc returned 0 after 923 usecs
[ 0.963439] calling michael_mic_init+0x0/0xc @ 1
[ 0.963897] initcall michael_mic_init+0x0/0xc returned 0 after 417 usecs
[ 0.963928] calling crc32c_mod_init+0x0/0xc @ 1
[ 0.964355] initcall crc32c_mod_init+0x0/0xc returned 0 after 387 usecs
[ 0.964385] calling lzo_mod_init+0x0/0xc @ 1
[ 0.964813] initcall lzo_mod_init+0x0/0xc returned 0 after 387 usecs
[ 0.964843] calling krng_mod_init+0x0/0xc @ 1
[ 0.965240] initcall krng_mod_init+0x0/0xc returned 0 after 387 usecs
[ 0.965270] calling proc_genhd_init+0x0/0x58 @ 1
[ 0.965393] initcall proc_genhd_init+0x0/0x58 returned 0 after 59 usecs
[ 0.965423] calling noop_init+0x0/0xc @ 1
[ 0.965545] io scheduler noop registered
[ 0.965606] initcall noop_init+0x0/0xc returned 0 after 149 usecs
[ 0.965606] calling deadline_init+0x0/0xc @ 1
[ 0.965637] io scheduler deadline registered
[ 0.965667] initcall deadline_init+0x0/0xc returned 0 after 29 usecs
[ 0.965698] calling cfq_init+0x0/0x9c @ 1
[ 0.966064] io scheduler cfq registered (default)
[ 0.966094] initcall cfq_init+0x0/0x9c returned 0 after 357 usecs
[ 0.966125] calling libcrc32c_mod_init+0x0/0x38 @ 1
[ 0.966217] initcall libcrc32c_mod_init+0x0/0x38 returned 0 after 59 usecs
[ 0.966247] calling percpu_counter_startup+0x0/0x1c @ 1
[ 0.966278] initcall percpu_counter_startup+0x0/0x1c returned 0 after 29 usecs
[ 0.966461] calling fb_console_init+0x0/0x168 @ 1
[ 0.967834] initcall fb_console_init+0x0/0x168 returned 0 after 1281 usecs
[ 0.967864] calling platform_lcd_driver_init+0x0/0xc @ 1
[ 0.968872] initcall platform_lcd_driver_init+0x0/0xc returned 0 after 953 usecs
[ 0.968902] calling pty_init+0x0/0x24c @ 1
[ 0.969940] initcall pty_init+0x0/0x24c returned 0 after 953 usecs
[ 0.969970] calling sysrq_init+0x0/0xa4 @ 1
[ 0.970092] initcall sysrq_init+0x0/0xa4 returned 0 after 59 usecs
[ 0.970123] calling serial8250_init+0x0/0x184 @ 1
[ 0.970123] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.978668] initcall serial8250_init+0x0/0x184 returned 0 after 8285 usecs
[ 0.978698] calling serial_omap_init+0x0/0x3c @ 1
[ 0.979675] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0
[ 4.628906] console [ttyO0] enabled
[ 4.635833] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1
[ 4.645568] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2
[ 4.655639] initcall serial_omap_init+0x0/0x3c returned 0 after 3590703 usecs
[ 4.663330] calling rand_initialize+0x0/0x2c @ 1
[ 4.668579] initcall rand_initialize+0x0/0x2c returned 0 after 238 usecs
[ 4.675750] calling omap_rng_init+0x0/0x2c @ 1
[ 4.680603] initcall omap_rng_init+0x0/0x2c returned -19 after 0 usecs
[ 4.687561] calling cn_proc_init+0x0/0x3c @ 1
[ 4.692382] initcall cn_proc_init+0x0/0x3c returned 0 after 89 usecs
[ 4.699188] calling topology_sysfs_init+0x0/0x70 @ 1
[ 4.704742] initcall topology_sysfs_init+0x0/0x70 returned 0 after 119 usecs
[ 4.712249] calling brd_init+0x0/0x1b8 @ 1
[ 4.760437] brd: module loaded
[ 4.764068] initcall brd_init+0x0/0x1b8 returned 0 after 46223 usecs
[ 4.770782] calling loop_init+0x0/0x11c @ 1
[ 4.801818] loop: module loaded
[ 4.805511] initcall loop_init+0x0/0x11c returned 0 after 29414 usecs
[ 4.812377] calling menelaus_init+0x0/0x34 @ 1
[ 4.818267] initcall menelaus_init+0x0/0x34 returned 0 after 1043 usecs
[ 4.825256] calling twl4030_audio_driver_init+0x0/0xc @ 1
[ 4.834777] initcall twl4030_audio_driver_init+0x0/0xc returned 0 after 3486 usecs
[ 4.842926] calling init_sd+0x0/0x120 @ 1
[ 4.849029] initcall init_sd+0x0/0x120 returned 0 after 1698 usecs
[ 4.855743] calling init_mtd+0x0/0xd8 @ 1
[ 4.864410] initcall init_mtd+0x0/0xd8 returned 0 after 4142 usecs
[ 4.871154] calling cmdline_parser_init+0x0/0xc @ 1
[ 4.876678] initcall cmdline_parser_init+0x0/0xc returned 0 after 178 usecs
[ 4.884094] calling init_mtdchar+0x0/0x8c @ 1
[ 4.888916] initcall init_mtdchar+0x0/0x8c returned 0 after 59 usecs
[ 4.895629] calling init_mtdblock+0x0/0xc @ 1
[ 4.900604] initcall init_mtdblock+0x0/0xc returned 0 after 178 usecs
[ 4.907470] calling mtdoops_init+0x0/0x16c @ 1
[ 4.912322] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 4.919128] initcall mtdoops_init+0x0/0x16c returned -22 after 6616 usecs
[ 4.926330] initcall mtdoops_init+0x0/0x16c returned with error code -22
[ 4.933593] calling cfi_probe_init+0x0/0x18 @ 1
[ 4.938629] initcall cfi_probe_init+0x0/0x18 returned 0 after 119 usecs
[ 4.945678] calling nand_base_init+0x0/0x8 @ 1
[ 4.950469] initcall nand_base_init+0x0/0x8 returned 0 after 0 usecs
[ 4.957244] calling omap_nand_driver_init+0x0/0xc @ 1
[ 4.963775] initcall omap_nand_driver_init+0x0/0xc returned 0 after 983 usecs
[ 4.971588] calling omap2_onenand_init+0x0/0x20 @ 1
[ 4.976898] OneNAND driver initializing
[ 4.981872] initcall omap2_onenand_init+0x0/0x20 returned 0 after 4827 usecs
[ 4.989471] calling ubi_init+0x0/0x2e0 @ 1
[ 4.995727] initcall ubi_init+0x0/0x2e0 returned 0 after 1698 usecs
[ 5.002532] calling net_olddevs_init+0x0/0xc0 @ 1
[ 5.007720] initcall net_olddevs_init+0x0/0xc0 returned 0 after 0 usecs
[ 5.014770] calling smsc_init+0x0/0x90 @ 1
[ 5.022735] initcall smsc_init+0x0/0x90 returned 0 after 3457 usecs
[ 5.029541] calling ks8851_init+0x0/0xc @ 1
[ 5.034729] initcall ks8851_init+0x0/0xc returned 0 after 655 usecs
[ 5.041564] calling ks8851_platform_driver_init+0x0/0xc @ 1
[ 5.048522] initcall ks8851_platform_driver_init+0x0/0xc returned 0 after 864 usecs
[ 5.056762] calling smc_driver_init+0x0/0xc @ 1
[ 5.062622] initcall smc_driver_init+0x0/0xc returned 0 after 864 usecs
[ 5.069763] calling smsc911x_init_module+0x0/0xc @ 1
[ 5.075286] smsc911x: Driver version 2008-10-21
[ 5.081665] async_waiting @ 1
[ 5.085327] calling 1_regulator_bulk_enable_async+0x0/0x18 @ 5
[ 5.091827] initcall 1_regulator_bulk_enable_async+0x0/0x18 returned 0 after 59 usecs
[ 5.100341] calling 2_regulator_bulk_enable_async+0x0/0x18 @ 5
[ 5.106597] initcall 2_regulator_bulk_enable_async+0x0/0x18 returned 0 after 29 usecs
[ 5.115051] async_continuing @ 1 after 29414 usec
[ 5.129608] smsc911x-mdio: probed
[ 5.133605] smsc911x smsc911x.0: eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=smsc911x-0:01, irq=-1)
[ 5.144989] smsc911x smsc911x.0: eth0: MAC Address: 00:50:c2:7e:90:fc
[ 5.152801] initcall smsc911x_init_module+0x0/0xc returned 0 after 75876 usecs
[ 5.160736] calling asix_driver_init+0x0/0x18 @ 1
[ 5.166717] usbcore: registered new interface driver asix
[ 5.172576] initcall asix_driver_init+0x0/0x18 returned 0 after 6526 usecs
[ 5.179901] calling cdc_driver_init+0x0/0x18 @ 1
[ 5.185699] usbcore: registered new interface driver cdc_ether
[ 5.191864] initcall cdc_driver_init+0x0/0x18 returned 0 after 6794 usecs
[ 5.199218] calling net1080_driver_init+0x0/0x18 @ 1
[ 5.205352] usbcore: registered new interface driver net1080
[ 5.211486] initcall net1080_driver_init+0x0/0x18 returned 0 after 6705 usecs
[ 5.219085] calling cdc_subset_driver_init+0x0/0x18 @ 1
[ 5.225463] usbcore: registered new interface driver cdc_subset
[ 5.231750] initcall cdc_subset_driver_init+0x0/0x18 returned 0 after 6794 usecs
[ 5.239685] calling zaurus_driver_init+0x0/0x18 @ 1
[ 5.245727] usbcore: registered new interface driver zaurus
[ 5.251770] initcall zaurus_driver_init+0x0/0x18 returned 0 after 6586 usecs
[ 5.259277] calling usbnet_init+0x0/0x30 @ 1
[ 5.264007] initcall usbnet_init+0x0/0x30 returned 0 after 29 usecs
[ 5.270629] calling cdc_ncm_driver_init+0x0/0x18 @ 1
[ 5.276733] usbcore: registered new interface driver cdc_ncm
[ 5.282897] initcall cdc_ncm_driver_init+0x0/0x18 returned 0 after 6705 usecs
[ 5.290496] calling mon_init+0x0/0x100 @ 1
[ 5.297149] initcall mon_init+0x0/0x100 returned 0 after 2086 usecs
[ 5.303955] calling wdm_driver_init+0x0/0x18 @ 1
[ 5.309722] usbcore: registered new interface driver cdc_wdm
[ 5.315887] initcall wdm_driver_init+0x0/0x18 returned 0 after 6794 usecs
[ 5.323120] calling usb_stor_init+0x0/0x4c @ 1
[ 5.327972] Initializing USB Mass Storage driver...
[ 5.334106] usbcore: registered new interface driver usb-storage
[ 5.340454] USB Mass Storage support registered.
[ 5.345581] initcall usb_stor_init+0x0/0x4c returned 0 after 17166 usecs
[ 5.352722] calling usb_usual_init+0x0/0x44 @ 1
[ 5.359069] usbcore: registered new interface driver libusual
[ 5.365325] initcall usb_usual_init+0x0/0x44 returned 0 after 7450 usecs
[ 5.372406] calling usbtest_init+0x0/0x44 @ 1
[ 5.377990] usbcore: registered new interface driver usbtest
[ 5.384124] initcall usbtest_init+0x0/0x44 returned 0 after 6765 usecs
[ 5.391082] calling serport_init+0x0/0x30 @ 1
[ 5.395782] initcall serport_init+0x0/0x30 returned 0 after 0 usecs
[ 5.402465] calling mousedev_init+0x0/0x88 @ 1
[ 5.409484] mousedev: PS/2 mouse device common for all mice
[ 5.415588] initcall mousedev_init+0x0/0x88 returned 0 after 8046 usecs
[ 5.422637] calling joydev_init+0x0/0xc @ 1
[ 5.427154] initcall joydev_init+0x0/0xc returned 0 after 29 usecs
[ 5.433746] calling evdev_init+0x0/0xc @ 1
[ 5.438232] initcall evdev_init+0x0/0xc returned 0 after 0 usecs
[ 5.444671] calling atkbd_init+0x0/0x18 @ 1
[ 5.450256] initcall atkbd_init+0x0/0x18 returned 0 after 1043 usecs
[ 5.457153] calling twl4030_kp_driver_init+0x0/0xc @ 1
[ 5.464965] input: TWL4030 Keypad as /devices/platform/omap_i2c.1/i2c-1/1-004a/twl4030_keypad/input/input0
[ 5.480285] initcall twl4030_kp_driver_init+0x0/0xc returned 0 after 17106 usecs
[ 5.488311] calling psmouse_init+0x0/0x88 @ 1
[ 5.494354] initcall psmouse_init+0x0/0x88 returned 0 after 1251 usecs
[ 5.501464] calling ads7846_driver_init+0x0/0xc @ 1
[ 5.510925] ads7846 spi1.0: touchscreen, irq 271
[ 5.519653] input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi_master/spi1/spi1.0/input/input1
[ 5.533203] initcall ads7846_driver_init+0x0/0xc returned 0 after 25779 usecs
[ 5.540924] calling twl4030_pwrbutton_init+0x0/0x14 @ 1
[ 5.549896] input: twl4030_pwrbutton as /devices/platform/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input2
[ 5.562683] initcall twl4030_pwrbutton_init+0x0/0x14 returned 0 after 15676 usecs
[ 5.570739] calling twl_rtc_init+0x0/0x40 @ 1
[ 5.576171] twl_rtc twl_rtc: Power up reset detected.
[ 5.581665] twl_rtc twl_rtc: Enabling TWL-RTC
[ 5.591674] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[ 5.600189] initcall twl_rtc_init+0x0/0x40 returned 0 after 24139 usecs
[ 5.607299] calling i2c_dev_init+0x0/0xd0 @ 1
[ 5.611968] i2c /dev entries driver
[ 5.620758] initcall i2c_dev_init+0x0/0xd0 returned 0 after 8553 usecs
[ 5.627868] calling w1_init+0x0/0xa4 @ 1
[ 5.632171] Driver for 1-wire Dallas network protocol.
[ 5.639923] initcall w1_init+0x0/0xa4 returned 0 after 7539 usecs
[ 5.646484] calling omap_wdt_driver_init+0x0/0xc @ 1
[ 5.654266] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[ 5.662536] initcall omap_wdt_driver_init+0x0/0xc returned 0 after 10430 usecs
[ 5.670318] calling twl4030_wdt_driver_init+0x0/0xc @ 1
[ 5.676483] twl4030_wdt twl4030_wdt: Failed to register misc device
[ 5.683319] twl4030_wdt: probe of twl4030_wdt failed with error -16
[ 5.690826] initcall twl4030_wdt_driver_init+0x0/0xc returned 0 after 14513 usecs
[ 5.698852] calling mmc_blk_init+0x0/0x80 @ 1
[ 5.704345] initcall mmc_blk_init+0x0/0x80 returned 0 after 685 usecs
[ 5.711303] calling sdio_uart_init+0x0/0xf0 @ 1
[ 5.717010] initcall sdio_uart_init+0x0/0xf0 returned 0 after 804 usecs
[ 5.723999] calling mmc_omap_init+0x0/0x70 @ 1
[ 5.731506] initcall mmc_omap_init+0x0/0x70 returned -19 after 2503 usecs
[ 5.738861] calling omap_hsmmc_init+0x0/0x14 @ 1
[ 5.754089] initcall omap_hsmmc_init+0x0/0x14 returned 0 after 9894 usecs
[ 5.761413] calling hid_init+0x0/0x5c @ 1
[ 5.766754] initcall hid_init+0x0/0x5c returned 0 after 894 usecs
[ 5.773376] calling hid_init+0x0/0x78 @ 1
[ 5.779449] usbcore: registered new interface driver usbhid
[ 5.785339] usbhid: USB HID core driver
[ 5.789550] initcall hid_init+0x0/0x78 returned 0 after 11533 usecs
[ 5.796234] calling oprofile_init+0x0/0x6c @ 1
[ 5.801025] oprofile: hardware counters not available
[ 5.806427] oprofile: using timer interrupt.
[ 5.811004] initcall oprofile_init+0x0/0x6c returned 0 after 9745 usecs
[ 5.818084] calling sock_diag_init+0x0/0x54 @ 1
[ 5.823028] initcall sock_diag_init+0x0/0x54 returned 0 after 89 usecs
[ 5.829986] calling flow_cache_init_global+0x0/0x1ac @ 1
[ 5.836059] initcall flow_cache_init_global+0x0/0x1ac returned 0 after 298 usecs
[ 5.843963] calling sysctl_ipv4_init+0x0/0x94 @ 1
[ 5.849456] initcall sysctl_ipv4_init+0x0/0x94 returned 0 after 447 usecs
[ 5.856628] calling xfrm4_beet_init+0x0/0x10 @ 1
[ 5.861694] initcall xfrm4_beet_init+0x0/0x10 returned 0 after 0 usecs
[ 5.868652] calling xfrm4_transport_init+0x0/0x10 @ 1
[ 5.874145] initcall xfrm4_transport_init+0x0/0x10 returned 0 after 0 usecs
[ 5.881591] calling xfrm4_mode_tunnel_init+0x0/0x10 @ 1
[ 5.887207] initcall xfrm4_mode_tunnel_init+0x0/0x10 returned 0 after 0 usecs
[ 5.894805] calling ipv4_netfilter_init+0x0/0xc @ 1
[ 5.900329] initcall ipv4_netfilter_init+0x0/0xc returned 0 after 208 usecs
[ 5.907775] calling inet_diag_init+0x0/0x8c @ 1
[ 5.912872] initcall inet_diag_init+0x0/0x8c returned 0 after 149 usecs
[ 5.919952] calling tcp_diag_init+0x0/0xc @ 1
[ 5.924743] initcall tcp_diag_init+0x0/0xc returned 0 after 119 usecs
[ 5.931610] calling cubictcp_register+0x0/0x74 @ 1
[ 5.936828] TCP: cubic registered
[ 5.940338] initcall cubictcp_register+0x0/0x74 returned 0 after 3427 usecs
[ 5.947784] calling xfrm_user_init+0x0/0x48 @ 1
[ 5.952728] Initializing XFRM netlink socket
[ 5.957427] initcall xfrm_user_init+0x0/0x48 returned 0 after 4589 usecs
[ 5.964569] calling packet_init+0x0/0x48 @ 1
[ 5.969268] NET: Registered protocol family 17
[ 5.974060] initcall packet_init+0x0/0x48 returned 0 after 4678 usecs
[ 5.980957] calling ipsec_pfkey_init+0x0/0x7c @ 1
[ 5.986145] NET: Registered protocol family 15
[ 5.990905] initcall ipsec_pfkey_init+0x0/0x7c returned 0 after 4708 usecs
[ 5.998229] calling init_rpcsec_gss+0x0/0x64 @ 1
[ 6.003601] initcall init_rpcsec_gss+0x0/0x64 returned 0 after 417 usecs
[ 6.011016] calling init_dns_resolver+0x0/0x14c @ 1
[ 6.016326] Registering the dns_resolver key type
[ 6.021850] initcall init_dns_resolver+0x0/0x14c returned 0 after 5364 usecs
[ 6.029571] calling vfp_init+0x0/0x1a4 @ 1
[ 6.033996] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[ 6.042297] initcall vfp_init+0x0/0x1a4 returned 0 after 8136 usecs
[ 6.049041] calling thumbee_init+0x0/0x5c @ 1
[ 6.053802] ThumbEE CPU extension supported.
[ 6.058319] initcall thumbee_init+0x0/0x5c returned 0 after 4410 usecs
[ 6.065307] calling omap_mux_late_init+0x0/0x1a0 @ 1
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 10:11 ` Mohammed, Afzal
@ 2012-04-05 10:17 ` Paul Walmsley
2012-04-05 10:23 ` Raja, Govindraj
0 siblings, 1 reply; 39+ messages in thread
From: Paul Walmsley @ 2012-04-05 10:17 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: linux-omap, tony
cc Tony
Hi,
On Thu, 5 Apr 2012, Mohammed, Afzal wrote:
> On Thu, Apr 05, 2012 at 15:03:36, Paul Walmsley wrote:
> > Could you try booting with initcall_debug and posting the boot log?
>
> Logs as follows,
thanks.
...
> [ 6.065307] calling omap_mux_late_init+0x0/0x1a0 @ 1
Looks like a mux-related problem. Tony recently found some mux-related
bugs that got merged with the v3.3 mach-omap2/serial.c - I wonder if they
might be affecting your board too?
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-05 10:17 ` Paul Walmsley
@ 2012-04-05 10:23 ` Raja, Govindraj
2012-04-05 16:19 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Raja, Govindraj @ 2012-04-05 10:23 UTC (permalink / raw)
To: Paul Walmsley, Mohammed Afzal; +Cc: linux-omap, tony
Hi Afzal,
On Thu, Apr 5, 2012 at 3:47 PM, Paul Walmsley <paul@pwsan.com> wrote:
> cc Tony
>
> Hi,
>
> On Thu, 5 Apr 2012, Mohammed, Afzal wrote:
>
>> On Thu, Apr 05, 2012 at 15:03:36, Paul Walmsley wrote:
>> > Could you try booting with initcall_debug and posting the boot log?
>>
>> Logs as follows,
>
> thanks.
>
> ...
>
>> [ 6.065307] calling omap_mux_late_init+0x0/0x1a0 @ 1
>
> Looks like a mux-related problem. Tony recently found some mux-related
> bugs that got merged with the v3.3 mach-omap2/serial.c - I wonder if they
> might be affecting your board too?
Can you try this patch [1], Just to confirm its serial mux issue
however still the patch is not aligned on how to fix it.
--
Thanks,
Govindraj.R
[1]:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg65347.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 10:23 ` Raja, Govindraj
@ 2012-04-05 16:19 ` Mohammed, Afzal
2012-04-05 17:16 ` Tony Lindgren
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-05 16:19 UTC (permalink / raw)
To: R, Govindraj, Paul Walmsley; +Cc: linux-omap, tony
Hi Govindraj,
On Thu, Apr 05, 2012 at 15:53:25, R, Govindraj wrote:
> Can you try this patch [1], Just to confirm its serial mux issue
>
> however still the patch is not aligned on how to fix it.
With that patch too, Kernel does not boot.
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 10:07 ` Paul Walmsley
@ 2012-04-05 16:22 ` Mohammed, Afzal
2012-04-05 19:52 ` Paul Walmsley
2012-04-05 21:21 ` Kevin Hilman
1 sibling, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-05 16:22 UTC (permalink / raw)
To: Paul Walmsley; +Cc: linux-omap
Hi Paul,
On Thu, Apr 05, 2012 at 15:37:42, Paul Walmsley wrote:
> I just booted the 'io_chain_devel_3.5' branch from
> git://git.pwsan.com/linux-2.6 on a 35xx ES3.0 BeagleBoard with no
> problems. Could you please try booting this branch on your OMAP3EVM?
I am unable to fetch using git protocol, hence tried,
http://git.pwsan.com/linux-2.6 & http://git.pwsan.com/linux-2.6.git
but giving error,
fatal: http://git.pwsan.com/linux-2.6/info/refs not found: did you run git update-server-info on the server?
Any other to try ?
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-05 16:19 ` Mohammed, Afzal
@ 2012-04-05 17:16 ` Tony Lindgren
2012-04-06 4:54 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Tony Lindgren @ 2012-04-05 17:16 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: R, Govindraj, Paul Walmsley, linux-omap
* Mohammed, Afzal <afzal@ti.com> [120405 09:22]:
> Hi Govindraj,
>
> On Thu, Apr 05, 2012 at 15:53:25, R, Govindraj wrote:
> > Can you try this patch [1], Just to confirm its serial mux issue
> >
> > however still the patch is not aligned on how to fix it.
>
> With that patch too, Kernel does not boot.
What happens if you disable CONFIG_OMAP_MUX?
Regards,
Tony
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 16:22 ` Mohammed, Afzal
@ 2012-04-05 19:52 ` Paul Walmsley
2012-04-06 5:09 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Paul Walmsley @ 2012-04-05 19:52 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: linux-omap
On Thu, 5 Apr 2012, Mohammed, Afzal wrote:
> On Thu, Apr 05, 2012 at 15:37:42, Paul Walmsley wrote:
> > I just booted the 'io_chain_devel_3.5' branch from
> > git://git.pwsan.com/linux-2.6 on a 35xx ES3.0 BeagleBoard with no
> > problems. Could you please try booting this branch on your OMAP3EVM?
>
> I am unable to fetch using git protocol, hence tried,
>
> http://git.pwsan.com/linux-2.6 & http://git.pwsan.com/linux-2.6.git
>
> but giving error,
>
> fatal: http://git.pwsan.com/linux-2.6/info/refs not found: did you run git update-server-info on the server?
The git trees on that server aren't exported by the HTTP server, so git
protocol is the only access method on git.pwsan.com right now.
Anyway, I've just posted that branch on git.kernel.org. Here's the gitweb
URL:
http://git.kernel.org/?p=linux/kernel/git/pjw/omap-devel.git;a=summary
If you open it in your web browser, it shows http and https URLs for the
tree that you should be able to pull from. You'll want the
"io_chain_devel_3.5" branch.
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-05 10:07 ` Paul Walmsley
2012-04-05 16:22 ` Mohammed, Afzal
@ 2012-04-05 21:21 ` Kevin Hilman
1 sibling, 0 replies; 39+ messages in thread
From: Kevin Hilman @ 2012-04-05 21:21 UTC (permalink / raw)
To: Paul Walmsley; +Cc: Mohammed, Afzal, linux-omap
Paul Walmsley <paul@pwsan.com> writes:
> On Thu, 5 Apr 2012, Paul Walmsley wrote:
>
>> I just rebased this series on top of v3.4-rc1 and built each patch in it
>> successfully, so it sounds like there's some bisection-specific build
>> problem?
>
> Okay, a quick update. Just tried with a different .config, and can
> reproduce the following build problem with patch 2 of the IO wakeup
> series, in code that is later removed by patch 6:
>
> arch/arm/mach-omap2/pm34xx.c: In function 'omap_sram_idle':
> arch/arm/mach-omap2/pm34xx.c:281:4: error: implicit declaration of function 'omap3_reconfigure_io_chain'
>
> That's my mistake and I will correct it here and send a new pull request,
> once we figure out what's going on with your boot hang.
I notcied this problem too when building an OMAP4-only .config and just
sent a patch: [PATCH] ARM: OMAP2+: PRM: fix compile for OMAP4-only build
Kevin
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 17:16 ` Tony Lindgren
@ 2012-04-06 4:54 ` Mohammed, Afzal
2012-04-06 17:41 ` Tony Lindgren
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-06 4:54 UTC (permalink / raw)
To: Tony Lindgren; +Cc: R, Govindraj, Paul Walmsley, linux-omap
Hi Tony,
On Thu, Apr 05, 2012 at 22:46:53, Tony Lindgren wrote:
> What happens if you disable CONFIG_OMAP_MUX?
Then it boots properly.
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-05 19:52 ` Paul Walmsley
@ 2012-04-06 5:09 ` Mohammed, Afzal
2012-04-06 7:13 ` Paul Walmsley
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-06 5:09 UTC (permalink / raw)
To: Paul Walmsley; +Cc: linux-omap
Hi Paul,
On Fri, Apr 06, 2012 at 01:22:20, Paul Walmsley wrote:
> http://git.kernel.org/?p=linux/kernel/git/pjw/omap-devel.git;a=summary
>
> If you open it in your web browser, it shows http and https URLs for the
> tree that you should be able to pull from. You'll want the
> "io_chain_devel_3.5" branch.
OMAP3EVM does not boot with this branch, hung at the same point.
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-06 5:09 ` Mohammed, Afzal
@ 2012-04-06 7:13 ` Paul Walmsley
2012-04-06 7:52 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Paul Walmsley @ 2012-04-06 7:13 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: linux-omap
On Fri, 6 Apr 2012, Mohammed, Afzal wrote:
> On Fri, Apr 06, 2012 at 01:22:20, Paul Walmsley wrote:
> > http://git.kernel.org/?p=linux/kernel/git/pjw/omap-devel.git;a=summary
> >
> > If you open it in your web browser, it shows http and https URLs for the
> > tree that you should be able to pull from. You'll want the
> > "io_chain_devel_3.5" branch.
>
> OMAP3EVM does not boot with this branch, hung at the same point.
Okay, thanks for the test. Based on your other message, it indeed sounds
like a mux problem.
Perhaps you might be willing to add some debugging to omap_mux_late_init()
to find out what part of that function is causing it to hang?
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-06 7:13 ` Paul Walmsley
@ 2012-04-06 7:52 ` Mohammed, Afzal
2012-04-23 9:24 ` Tero Kristo
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-06 7:52 UTC (permalink / raw)
To: Paul Walmsley; +Cc: linux-omap
Hi Paul,
On Fri, Apr 06, 2012 at 12:43:06, Paul Walmsley wrote:
> Perhaps you might be willing to add some debugging to omap_mux_late_init()
> to find out what part of that function is causing it to hang?
It is getting hung as interrupt handler "omap_hwmod_mux_handle_irq"
is being repeatedly called.
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-06 4:54 ` Mohammed, Afzal
@ 2012-04-06 17:41 ` Tony Lindgren
2012-04-06 18:08 ` Paul Walmsley
0 siblings, 1 reply; 39+ messages in thread
From: Tony Lindgren @ 2012-04-06 17:41 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: R, Govindraj, Paul Walmsley, linux-omap
* Mohammed, Afzal <afzal@ti.com> [120405 21:57]:
> Hi Tony,
>
> On Thu, Apr 05, 2012 at 22:46:53, Tony Lindgren wrote:
> > What happens if you disable CONFIG_OMAP_MUX?
>
> Then it boots properly.
OK, so that's because then the mux interrupts won't
get enabled like you noticed elsewhere in the thread.
So something in Paul's series is changing the interrupt
behaviour somehow?
Tony
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-06 17:41 ` Tony Lindgren
@ 2012-04-06 18:08 ` Paul Walmsley
2012-04-06 18:24 ` Tony Lindgren
0 siblings, 1 reply; 39+ messages in thread
From: Paul Walmsley @ 2012-04-06 18:08 UTC (permalink / raw)
To: Tony Lindgren; +Cc: Mohammed, Afzal, R, Govindraj, khilman, linux-omap
cc Kevin
On Fri, 6 Apr 2012, Tony Lindgren wrote:
> So something in Paul's series is changing the interrupt
> behaviour somehow?
Am wondering if this might be due to the kernel not clearing some
bootloader mux settings?
Perhaps the bootloader is configuring the mux hardware for I/O wakeups on
a pad, but the kernel is missing an mux IRQ handler or mapping for it. Or
maybe one of the kernel mux entries is missing the OMAP_WAKEUP_EN or
OMAP_DEVICE_PAD_WAKEUP flags for a pad that the bootloader is configuring
- I seem to recall that Kevin found some problems here with the
mach-omap2/serial.c mux code. Anyway, will create a patch to add some
debugging here for Afzal to try.
Also,it seems to me that when the mux layer starts, the code should
probably clear out all of the I/O wakeup configuration in the hardware
that the bootloader set up.
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-06 18:08 ` Paul Walmsley
@ 2012-04-06 18:24 ` Tony Lindgren
0 siblings, 0 replies; 39+ messages in thread
From: Tony Lindgren @ 2012-04-06 18:24 UTC (permalink / raw)
To: Paul Walmsley; +Cc: Mohammed, Afzal, R, Govindraj, khilman, linux-omap
* Paul Walmsley <paul@pwsan.com> [120406 11:11]:
> cc Kevin
>
> On Fri, 6 Apr 2012, Tony Lindgren wrote:
>
> > So something in Paul's series is changing the interrupt
> > behaviour somehow?
>
> Am wondering if this might be due to the kernel not clearing some
> bootloader mux settings?
>
> Perhaps the bootloader is configuring the mux hardware for I/O wakeups on
> a pad, but the kernel is missing an mux IRQ handler or mapping for it. Or
> maybe one of the kernel mux entries is missing the OMAP_WAKEUP_EN or
> OMAP_DEVICE_PAD_WAKEUP flags for a pad that the bootloader is configuring
> - I seem to recall that Kevin found some problems here with the
> mach-omap2/serial.c mux code. Anyway, will create a patch to add some
> debugging here for Afzal to try.
That's easy to check from dumping out the mux status from
/sys/kernel/debug/omap_mux/* entries after booting with a working
kernel.
> Also,it seems to me that when the mux layer starts, the code should
> probably clear out all of the I/O wakeup configuration in the hardware
> that the bootloader set up.
Yes that sounds right.
Regards,
Tony
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-06 7:52 ` Mohammed, Afzal
@ 2012-04-23 9:24 ` Tero Kristo
2012-04-23 10:07 ` Mohammed, Afzal
2012-04-24 17:07 ` Kevin Hilman
0 siblings, 2 replies; 39+ messages in thread
From: Tero Kristo @ 2012-04-23 9:24 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: Paul Walmsley, linux-omap
[-- Attachment #1: Type: text/plain, Size: 586 bytes --]
On Fri, 2012-04-06 at 07:52 +0000, Mohammed, Afzal wrote:
> Hi Paul,
>
> On Fri, Apr 06, 2012 at 12:43:06, Paul Walmsley wrote:
> > Perhaps you might be willing to add some debugging to omap_mux_late_init()
> > to find out what part of that function is causing it to hang?
>
> It is getting hung as interrupt handler "omap_hwmod_mux_handle_irq"
> is being repeatedly called.
>
Hi Afzal,
can you try the attached patch with this branch and omap3evm board? I
don't have the board myself so I can't test it myself (I tested this
with omap3beagle and it works with that one.)
-Tero
[-- Attachment #2: 0001-ARM-OMAP3-PM-move-wakeup-event-ack-to-hwmod_io-handl.patch --]
[-- Type: text/x-patch, Size: 4173 bytes --]
>From 26733dd988ccc9e72355a39e01b2d6e9215a892d Mon Sep 17 00:00:00 2001
From: Tero Kristo <t-kristo@ti.com>
Date: Mon, 23 Apr 2012 12:14:46 +0300
Subject: [PATCH] ARM: OMAP3: PM: move wakeup event ack to hwmod_io handler
PRCM IO interrupts are handled with a shared interrupt handler logic.
Currently hwmod_io is processing the actual event, but the acking
of the IO wakeups is done from the PM code with a separate handler.
If a wakeup event is detected during init before the PM code is in
place, the interrupt handler can hang in an infinite loop. Fix this
by removing the pm_io handler, and calling its functionality from
within the hwmod_io handler. This fix applies only to OMAP3, as
OMAP4 does not have similar wakeup handling logic.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
arch/arm/mach-omap2/mux.c | 18 +++++++++++++++++-
arch/arm/mach-omap2/pm.h | 1 +
arch/arm/mach-omap2/pm34xx.c | 18 ++----------------
3 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index 65c3391..17349e3 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -41,6 +41,7 @@
#include "control.h"
#include "mux.h"
#include "prm.h"
+#include "pm.h"
#define OMAP_MUX_BASE_OFFSET 0x30 /* Offset from CTRL_BASE */
#define OMAP_MUX_BASE_SZ 0x5ca
@@ -427,6 +428,13 @@ static irqreturn_t omap_hwmod_mux_handle_irq(int irq, void *unused)
return IRQ_HANDLED;
}
+static irqreturn_t omap34xx_hwmod_mux_handle_irq(int irq, void *unused)
+{
+ omap_hwmod_for_each(_omap_hwmod_mux_handle_irq, NULL);
+ prcm_int_ack_io();
+ return IRQ_HANDLED;
+}
+
/* Assumes the calling function takes care of locking */
void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state)
{
@@ -792,6 +800,7 @@ static int __init omap_mux_late_init(void)
{
struct omap_mux_partition *partition;
int ret;
+ irq_handler_t irq_handler;
list_for_each_entry(partition, &mux_partitions, node) {
struct omap_mux_entry *e, *tmp;
@@ -812,12 +821,19 @@ static int __init omap_mux_late_init(void)
}
}
+#ifdef CONFIG_PM
+ if (cpu_is_omap34xx())
+ irq_handler = omap34xx_hwmod_mux_handle_irq;
+ else
+ irq_handler = omap_hwmod_mux_handle_irq;
+
ret = request_irq(omap_prcm_event_to_irq("io"),
- omap_hwmod_mux_handle_irq, IRQF_SHARED | IRQF_NO_SUSPEND,
+ irq_handler, IRQF_SHARED | IRQF_NO_SUSPEND,
"hwmod_io", omap_mux_late_init);
if (ret)
pr_warning("mux: Failed to setup hwmod io irq %d\n", ret);
+#endif
omap_mux_dbg_init();
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 36fa90b..09ba9e7 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -20,6 +20,7 @@ extern void omap3_pm_off_mode_enable(int);
extern void omap_sram_idle(void);
extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
extern int omap3_idle_init(void);
+extern void prcm_int_ack_io(void);
extern int omap4_idle_init(void);
extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused);
extern int (*omap_pm_suspend)(void);
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index afe3dda..cea4408 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -182,14 +182,10 @@ static int prcm_clear_mod_irqs(s16 module, u8 regs, u32 ignore_bits)
return c;
}
-static irqreturn_t _prcm_int_handle_io(int irq, void *unused)
+void prcm_int_ack_io(void)
{
- int c;
-
- c = prcm_clear_mod_irqs(WKUP_MOD, 1,
+ prcm_clear_mod_irqs(WKUP_MOD, 1,
~(OMAP3430_ST_IO_MASK | OMAP3430_ST_IO_CHAIN_MASK));
-
- return c ? IRQ_HANDLED : IRQ_NONE;
}
static irqreturn_t _prcm_int_handle_wakeup(int irq, void *unused)
@@ -683,16 +679,6 @@ static int __init omap3_pm_init(void)
goto err1;
}
- /* IO interrupt is shared with mux code */
- ret = request_irq(omap_prcm_event_to_irq("io"),
- _prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
- omap3_pm_init);
-
- if (ret) {
- pr_err("pm: Failed to request pm_io irq\n");
- goto err1;
- }
-
ret = pwrdm_for_each(pwrdms_setup, NULL);
if (ret) {
printk(KERN_ERR "Failed to setup powerdomains\n");
--
1.7.4.1
^ permalink raw reply related [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-23 9:24 ` Tero Kristo
@ 2012-04-23 10:07 ` Mohammed, Afzal
2012-04-23 10:13 ` Tero Kristo
2012-04-24 17:07 ` Kevin Hilman
1 sibling, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-23 10:07 UTC (permalink / raw)
To: Kristo, Tero; +Cc: Paul Walmsley, linux-omap
Hi Tero,
With "this branch" you meant,
HEAD @ 297624c ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle,
right ? (the one Paul suggested to try)
Regards
Afzal
On Mon, Apr 23, 2012 at 14:54:04, Kristo, Tero wrote:
> On Fri, 2012-04-06 at 07:52 +0000, Mohammed, Afzal wrote:
> > Hi Paul,
> >
> > On Fri, Apr 06, 2012 at 12:43:06, Paul Walmsley wrote:
> > > Perhaps you might be willing to add some debugging to omap_mux_late_init()
> > > to find out what part of that function is causing it to hang?
> >
> > It is getting hung as interrupt handler "omap_hwmod_mux_handle_irq"
> > is being repeatedly called.
> >
>
> Hi Afzal,
>
> can you try the attached patch with this branch and omap3evm board? I
> don't have the board myself so I can't test it myself (I tested this
> with omap3beagle and it works with that one.)
>
> -Tero
>
>
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-23 10:07 ` Mohammed, Afzal
@ 2012-04-23 10:13 ` Tero Kristo
2012-04-23 10:43 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Tero Kristo @ 2012-04-23 10:13 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: Paul Walmsley, linux-omap
On Mon, 2012-04-23 at 12:07 +0200, Mohammed, Afzal wrote:
> Hi Tero,
>
> With "this branch" you meant,
>
> HEAD @ 297624c ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle,
>
> right ? (the one Paul suggested to try)
Yeah, thats right. My patch applies right on top of it.
-Tero
>
> Regards
> Afzal
>
> On Mon, Apr 23, 2012 at 14:54:04, Kristo, Tero wrote:
> > On Fri, 2012-04-06 at 07:52 +0000, Mohammed, Afzal wrote:
> > > Hi Paul,
> > >
> > > On Fri, Apr 06, 2012 at 12:43:06, Paul Walmsley wrote:
> > > > Perhaps you might be willing to add some debugging to omap_mux_late_init()
> > > > to find out what part of that function is causing it to hang?
> > >
> > > It is getting hung as interrupt handler "omap_hwmod_mux_handle_irq"
> > > is being repeatedly called.
> > >
> >
> > Hi Afzal,
> >
> > can you try the attached patch with this branch and omap3evm board? I
> > don't have the board myself so I can't test it myself (I tested this
> > with omap3beagle and it works with that one.)
> >
> > -Tero
> >
> >
>
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-23 10:13 ` Tero Kristo
@ 2012-04-23 10:43 ` Mohammed, Afzal
2012-04-23 11:59 ` Tero Kristo
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-23 10:43 UTC (permalink / raw)
To: Kristo, Tero; +Cc: Paul Walmsley, linux-omap
Hi Tero,
On Mon, Apr 23, 2012 at 15:43:22, Kristo, Tero wrote:
> > > can you try the attached patch with this branch and omap3evm board? I
> > > don't have the board myself so I can't test it myself (I tested this
> > > with omap3beagle and it works with that one.)
With your patch, OMAP3EVM boots normally.
Tested by creating same changes as in your patch as below (patch could not
be applied, seems it was corrupted)
Regards
Afzal
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index 65c3391..17349e3 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -41,6 +41,7 @@
#include "control.h"
#include "mux.h"
#include "prm.h"
+#include "pm.h"
#define OMAP_MUX_BASE_OFFSET 0x30 /* Offset from CTRL_BASE */
#define OMAP_MUX_BASE_SZ 0x5ca
@@ -427,6 +428,13 @@ static irqreturn_t omap_hwmod_mux_handle_irq(int irq, void *unused)
return IRQ_HANDLED;
}
+static irqreturn_t omap34xx_hwmod_mux_handle_irq(int irq, void *unused)
+{
+ omap_hwmod_for_each(_omap_hwmod_mux_handle_irq, NULL);
+ prcm_int_ack_io();
+ return IRQ_HANDLED;
+}
+
/* Assumes the calling function takes care of locking */
void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state)
{
@@ -792,6 +800,7 @@ static int __init omap_mux_late_init(void)
{
struct omap_mux_partition *partition;
int ret;
+ irq_handler_t irq_handler;
list_for_each_entry(partition, &mux_partitions, node) {
struct omap_mux_entry *e, *tmp;
@@ -812,12 +821,19 @@ static int __init omap_mux_late_init(void)
}
}
+#ifdef CONFIG_PM
+ if (cpu_is_omap34xx())
+ irq_handler = omap34xx_hwmod_mux_handle_irq;
+ else
+ irq_handler = omap_hwmod_mux_handle_irq;
+
ret = request_irq(omap_prcm_event_to_irq("io"),
- omap_hwmod_mux_handle_irq, IRQF_SHARED | IRQF_NO_SUSPEND,
+ irq_handler, IRQF_SHARED | IRQF_NO_SUSPEND,
"hwmod_io", omap_mux_late_init);
if (ret)
pr_warning("mux: Failed to setup hwmod io irq %d\n", ret);
+#endif
omap_mux_dbg_init();
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 36fa90b..09ba9e7 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -20,6 +20,7 @@ extern void omap3_pm_off_mode_enable(int);
extern void omap_sram_idle(void);
extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
extern int omap3_idle_init(void);
+extern void prcm_int_ack_io(void);
extern int omap4_idle_init(void);
extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused);
extern int (*omap_pm_suspend)(void);
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index afe3dda..cea4408 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -182,14 +182,10 @@ static int prcm_clear_mod_irqs(s16 module, u8 regs, u32 ignore_bits)
return c;
}
-static irqreturn_t _prcm_int_handle_io(int irq, void *unused)
+void prcm_int_ack_io(void)
{
- int c;
-
- c = prcm_clear_mod_irqs(WKUP_MOD, 1,
+ prcm_clear_mod_irqs(WKUP_MOD, 1,
~(OMAP3430_ST_IO_MASK | OMAP3430_ST_IO_CHAIN_MASK));
-
- return c ? IRQ_HANDLED : IRQ_NONE;
}
static irqreturn_t _prcm_int_handle_wakeup(int irq, void *unused)
@@ -683,16 +679,6 @@ static int __init omap3_pm_init(void)
goto err1;
}
- /* IO interrupt is shared with mux code */
- ret = request_irq(omap_prcm_event_to_irq("io"),
- _prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
- omap3_pm_init);
-
- if (ret) {
- pr_err("pm: Failed to request pm_io irq\n");
- goto err1;
- }
-
ret = pwrdm_for_each(pwrdms_setup, NULL);
if (ret) {
printk(KERN_ERR "Failed to setup powerdomains\n");
^ permalink raw reply related [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-23 10:43 ` Mohammed, Afzal
@ 2012-04-23 11:59 ` Tero Kristo
2012-04-24 12:00 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Tero Kristo @ 2012-04-23 11:59 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: Paul Walmsley, linux-omap
On Mon, 2012-04-23 at 12:43 +0200, Mohammed, Afzal wrote:
> Hi Tero,
>
> On Mon, Apr 23, 2012 at 15:43:22, Kristo, Tero wrote:
> > > > can you try the attached patch with this branch and omap3evm board? I
> > > > don't have the board myself so I can't test it myself (I tested this
> > > > with omap3beagle and it works with that one.)
>
>
> With your patch, OMAP3EVM boots normally.
>
> Tested by creating same changes as in your patch as below (patch could not
> be applied, seems it was corrupted)
Okay thats good (although I wonder why the attachment got corrupted.)
Did you check if the device suspends / resumes properly also? Can you
check what do you have in the /proc/interrupts for the hwmod_io
interrupt just after boot / after one suspend?
-Tero
>
> Regards
> Afzal
>
> diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
> index 65c3391..17349e3 100644
> --- a/arch/arm/mach-omap2/mux.c
> +++ b/arch/arm/mach-omap2/mux.c
> @@ -41,6 +41,7 @@
> #include "control.h"
> #include "mux.h"
> #include "prm.h"
> +#include "pm.h"
>
> #define OMAP_MUX_BASE_OFFSET 0x30 /* Offset from CTRL_BASE */
> #define OMAP_MUX_BASE_SZ 0x5ca
> @@ -427,6 +428,13 @@ static irqreturn_t omap_hwmod_mux_handle_irq(int irq, void *unused)
> return IRQ_HANDLED;
> }
>
> +static irqreturn_t omap34xx_hwmod_mux_handle_irq(int irq, void *unused)
> +{
> + omap_hwmod_for_each(_omap_hwmod_mux_handle_irq, NULL);
> + prcm_int_ack_io();
> + return IRQ_HANDLED;
> +}
> +
> /* Assumes the calling function takes care of locking */
> void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state)
> {
> @@ -792,6 +800,7 @@ static int __init omap_mux_late_init(void)
> {
> struct omap_mux_partition *partition;
> int ret;
> + irq_handler_t irq_handler;
>
> list_for_each_entry(partition, &mux_partitions, node) {
> struct omap_mux_entry *e, *tmp;
> @@ -812,12 +821,19 @@ static int __init omap_mux_late_init(void)
> }
> }
>
> +#ifdef CONFIG_PM
> + if (cpu_is_omap34xx())
> + irq_handler = omap34xx_hwmod_mux_handle_irq;
> + else
> + irq_handler = omap_hwmod_mux_handle_irq;
> +
> ret = request_irq(omap_prcm_event_to_irq("io"),
> - omap_hwmod_mux_handle_irq, IRQF_SHARED | IRQF_NO_SUSPEND,
> + irq_handler, IRQF_SHARED | IRQF_NO_SUSPEND,
> "hwmod_io", omap_mux_late_init);
>
> if (ret)
> pr_warning("mux: Failed to setup hwmod io irq %d\n", ret);
> +#endif
>
> omap_mux_dbg_init();
>
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index 36fa90b..09ba9e7 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -20,6 +20,7 @@ extern void omap3_pm_off_mode_enable(int);
> extern void omap_sram_idle(void);
> extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
> extern int omap3_idle_init(void);
> +extern void prcm_int_ack_io(void);
> extern int omap4_idle_init(void);
> extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused);
> extern int (*omap_pm_suspend)(void);
> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
> index afe3dda..cea4408 100644
> --- a/arch/arm/mach-omap2/pm34xx.c
> +++ b/arch/arm/mach-omap2/pm34xx.c
> @@ -182,14 +182,10 @@ static int prcm_clear_mod_irqs(s16 module, u8 regs, u32 ignore_bits)
> return c;
> }
>
> -static irqreturn_t _prcm_int_handle_io(int irq, void *unused)
> +void prcm_int_ack_io(void)
> {
> - int c;
> -
> - c = prcm_clear_mod_irqs(WKUP_MOD, 1,
> + prcm_clear_mod_irqs(WKUP_MOD, 1,
> ~(OMAP3430_ST_IO_MASK | OMAP3430_ST_IO_CHAIN_MASK));
> -
> - return c ? IRQ_HANDLED : IRQ_NONE;
> }
>
> static irqreturn_t _prcm_int_handle_wakeup(int irq, void *unused)
> @@ -683,16 +679,6 @@ static int __init omap3_pm_init(void)
> goto err1;
> }
>
> - /* IO interrupt is shared with mux code */
> - ret = request_irq(omap_prcm_event_to_irq("io"),
> - _prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
> - omap3_pm_init);
> -
> - if (ret) {
> - pr_err("pm: Failed to request pm_io irq\n");
> - goto err1;
> - }
> -
> ret = pwrdm_for_each(pwrdms_setup, NULL);
> if (ret) {
> printk(KERN_ERR "Failed to setup powerdomains\n");
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-23 11:59 ` Tero Kristo
@ 2012-04-24 12:00 ` Mohammed, Afzal
2012-04-24 12:23 ` Tero Kristo
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-24 12:00 UTC (permalink / raw)
To: Kristo, Tero; +Cc: Paul Walmsley, linux-omap
Hi Tero,
On Mon, Apr 23, 2012 at 17:29:48, Kristo, Tero wrote:
> Okay thats good (although I wonder why the attachment got corrupted.)
> Did you check if the device suspends / resumes properly also? Can you
> check what do you have in the /proc/interrupts for the hwmod_io
> interrupt just after boot / after one suspend?
Device suspends & resumes properly.
At boot 2, after one suspend-resume 3
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-24 12:00 ` Mohammed, Afzal
@ 2012-04-24 12:23 ` Tero Kristo
0 siblings, 0 replies; 39+ messages in thread
From: Tero Kristo @ 2012-04-24 12:23 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: Paul Walmsley, linux-omap
On Tue, 2012-04-24 at 14:00 +0200, Mohammed, Afzal wrote:
> Hi Tero,
>
> On Mon, Apr 23, 2012 at 17:29:48, Kristo, Tero wrote:
> > Okay thats good (although I wonder why the attachment got corrupted.)
> > Did you check if the device suspends / resumes properly also? Can you
> > check what do you have in the /proc/interrupts for the hwmod_io
> > interrupt just after boot / after one suspend?
>
> Device suspends & resumes properly.
>
> At boot 2, after one suspend-resume 3
Okay that looks normal to me, you just get some prcm interrupts during
boot which was causing the device to hang earlier. Thanks for testing
out.
Paul, how should we take this forward?
-Tero
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-23 9:24 ` Tero Kristo
2012-04-23 10:07 ` Mohammed, Afzal
@ 2012-04-24 17:07 ` Kevin Hilman
2012-04-27 13:16 ` Tero Kristo
1 sibling, 1 reply; 39+ messages in thread
From: Kevin Hilman @ 2012-04-24 17:07 UTC (permalink / raw)
To: t-kristo; +Cc: Mohammed, Afzal, Paul Walmsley, linux-omap
Hi Tero,
Tero Kristo <t-kristo@ti.com> writes:
> On Fri, 2012-04-06 at 07:52 +0000, Mohammed, Afzal wrote:
>> Hi Paul,
>>
>> On Fri, Apr 06, 2012 at 12:43:06, Paul Walmsley wrote:
>> > Perhaps you might be willing to add some debugging to omap_mux_late_init()
>> > to find out what part of that function is causing it to hang?
>>
>> It is getting hung as interrupt handler "omap_hwmod_mux_handle_irq"
>> is being repeatedly called.
>>
>
> Hi Afzal,
>
> can you try the attached patch with this branch and omap3evm board? I
> don't have the board myself so I can't test it myself (I tested this
> with omap3beagle and it works with that one.)
Thanks for digging into this problem and coming up with a proposed
solution. Some questions below...
>
> -Tero
>
>
> From 26733dd988ccc9e72355a39e01b2d6e9215a892d Mon Sep 17 00:00:00 2001
> From: Tero Kristo <t-kristo@ti.com>
> Date: Mon, 23 Apr 2012 12:14:46 +0300
> Subject: [PATCH] ARM: OMAP3: PM: move wakeup event ack to hwmod_io handler
>
> PRCM IO interrupts are handled with a shared interrupt handler logic.
> Currently hwmod_io is processing the actual event, but the acking
> of the IO wakeups is done from the PM code with a separate handler.
> If a wakeup event is detected during init before the PM code is in
> place, the interrupt handler can hang in an infinite loop. Fix this
> by removing the pm_io handler, and calling its functionality from
> within the hwmod_io handler. This fix applies only to OMAP3, as
> OMAP4 does not have similar wakeup handling logic.
>
> Signed-off-by: Tero Kristo <t-kristo@ti.com>
Doesn't this mean that even on a !PM kernel that IO events might still
be firing for nothing?
Seems like it would be better to ensure that these interrupts are just
disabled until the PM core initializes and can enable them.
Kevin
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-24 17:07 ` Kevin Hilman
@ 2012-04-27 13:16 ` Tero Kristo
2012-04-27 23:15 ` Kevin Hilman
0 siblings, 1 reply; 39+ messages in thread
From: Tero Kristo @ 2012-04-27 13:16 UTC (permalink / raw)
To: Kevin Hilman; +Cc: Mohammed, Afzal, Paul Walmsley, linux-omap
On Tue, 2012-04-24 at 10:07 -0700, Kevin Hilman wrote:
> Hi Tero,
>
> Tero Kristo <t-kristo@ti.com> writes:
>
> > On Fri, 2012-04-06 at 07:52 +0000, Mohammed, Afzal wrote:
> >> Hi Paul,
> >>
> >> On Fri, Apr 06, 2012 at 12:43:06, Paul Walmsley wrote:
> >> > Perhaps you might be willing to add some debugging to omap_mux_late_init()
> >> > to find out what part of that function is causing it to hang?
> >>
> >> It is getting hung as interrupt handler "omap_hwmod_mux_handle_irq"
> >> is being repeatedly called.
> >>
> >
> > Hi Afzal,
> >
> > can you try the attached patch with this branch and omap3evm board? I
> > don't have the board myself so I can't test it myself (I tested this
> > with omap3beagle and it works with that one.)
>
> Thanks for digging into this problem and coming up with a proposed
> solution. Some questions below...
>
> >
> > -Tero
> >
> >
> > From 26733dd988ccc9e72355a39e01b2d6e9215a892d Mon Sep 17 00:00:00 2001
> > From: Tero Kristo <t-kristo@ti.com>
> > Date: Mon, 23 Apr 2012 12:14:46 +0300
> > Subject: [PATCH] ARM: OMAP3: PM: move wakeup event ack to hwmod_io handler
> >
> > PRCM IO interrupts are handled with a shared interrupt handler logic.
> > Currently hwmod_io is processing the actual event, but the acking
> > of the IO wakeups is done from the PM code with a separate handler.
> > If a wakeup event is detected during init before the PM code is in
> > place, the interrupt handler can hang in an infinite loop. Fix this
> > by removing the pm_io handler, and calling its functionality from
> > within the hwmod_io handler. This fix applies only to OMAP3, as
> > OMAP4 does not have similar wakeup handling logic.
> >
> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
>
>
> Doesn't this mean that even on a !PM kernel that IO events might still
> be firing for nothing?
I actually disabled the IO handler in !PM kernel, as I thought this
would be a problem there.
> Seems like it would be better to ensure that these interrupts are just
> disabled until the PM core initializes and can enable them.
I thought about this but I couldn't figure out a clean way to do this.
If I do irq_request, it automatically enables the interrupt, and if
there is an interrupt pending it will fire immediately and get stuck. I
can of course do some really nasty hackery for disabling all interrupts
when requesting it and then manually disabling it before enabling
interrupts again... but this does not look too nice imo.
-Tero
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-27 13:16 ` Tero Kristo
@ 2012-04-27 23:15 ` Kevin Hilman
2012-04-28 11:51 ` Mohammed, Afzal
2012-04-30 12:46 ` Tero Kristo
0 siblings, 2 replies; 39+ messages in thread
From: Kevin Hilman @ 2012-04-27 23:15 UTC (permalink / raw)
To: t-kristo; +Cc: Mohammed, Afzal, Paul Walmsley, linux-omap
Tero Kristo <t-kristo@ti.com> writes:
> On Tue, 2012-04-24 at 10:07 -0700, Kevin Hilman wrote:
[...]
>> > From 26733dd988ccc9e72355a39e01b2d6e9215a892d Mon Sep 17 00:00:00 2001
>> > From: Tero Kristo <t-kristo@ti.com>
>> > Date: Mon, 23 Apr 2012 12:14:46 +0300
>> > Subject: [PATCH] ARM: OMAP3: PM: move wakeup event ack to hwmod_io handler
>> >
>> > PRCM IO interrupts are handled with a shared interrupt handler logic.
>> > Currently hwmod_io is processing the actual event, but the acking
>> > of the IO wakeups is done from the PM code with a separate handler.
>> > If a wakeup event is detected during init before the PM code is in
>> > place, the interrupt handler can hang in an infinite loop. Fix this
>> > by removing the pm_io handler, and calling its functionality from
>> > within the hwmod_io handler. This fix applies only to OMAP3, as
>> > OMAP4 does not have similar wakeup handling logic.
>> >
>> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
>>
>>
>> Doesn't this mean that even on a !PM kernel that IO events might still
>> be firing for nothing?
>
> I actually disabled the IO handler in !PM kernel, as I thought this
> would be a problem there.
OK
>> Seems like it would be better to ensure that these interrupts are just
>> disabled until the PM core initializes and can enable them.
>
> I thought about this but I couldn't figure out a clean way to do this.
> If I do irq_request, it automatically enables the interrupt, and if
> there is an interrupt pending it will fire immediately and get stuck.
hmm, I thought there was a flag for disabling the auto-enable feature...
/me looks
Yup, from <linux/irq.h>
* IRQ_NOAUTOEN - Interrupt is not automatically enabled in
* request/setup_irq()
With that, we can just set all the PRCM IRQs to be disabled until
explicitly enabled using enable_irq(). The following patch (only boot
tested on OMAP3530/Overo and OMAP4430/Panda) should take care of it.
Do you think that should solve this problem?
Afzal, care to test the patch below to see if it fixes your boot problem
on OMAP3EVM with the IO chain series?
Thanks,
Kevin
From: Kevin Hilman <khilman@ti.com>
Date: Fri, 27 Apr 2012 16:05:51 -0700
Subject: [PATCH] ARM: OMAP2+: PM: leave PRCM interrupts disabled until
explicitly enabled.
By default, request_irq() will auto-enable the requested IRQ.
For PRCM interrupts, we want to avoid that until the PM core code is
fully ready to handle the interrupts. This is particularily true for
IO pad interrupts, which are shared between the hwmod core and the PRM
core. This is also important for !PM kernels where we don't need
any PRCM interrupts firing at all.
In order to avoid PRCM interrupts until ready, set the IRQ_NOAUTOEN
flag for the PRCM chained handler which means PRCM interrupts will
remain disabled after request_irq().
Then, explicitly enable the PRCM interrupts after the request_irq() in
the PM core (but not in the hwmod core.)
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/pm34xx.c | 2 ++
arch/arm/mach-omap2/prm_common.c | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 66ff828..ba17813 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -722,6 +722,7 @@ static int __init omap3_pm_init(void)
ret = request_irq(omap_prcm_event_to_irq("wkup"),
_prcm_int_handle_wakeup, IRQF_NO_SUSPEND, "pm_wkup", NULL);
+ enable_irq(omap_prcm_event_to_irq("wkup"));
if (ret) {
pr_err("pm: Failed to request pm_wkup irq\n");
@@ -732,6 +733,7 @@ static int __init omap3_pm_init(void)
ret = request_irq(omap_prcm_event_to_irq("io"),
_prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
omap3_pm_init);
+ enable_irq(omap_prcm_event_to_irq("io"));
if (ret) {
pr_err("pm: Failed to request pm_io irq\n");
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
index d28f848..c805775 100644
--- a/arch/arm/mach-omap2/prm_common.c
+++ b/arch/arm/mach-omap2/prm_common.c
@@ -307,7 +307,8 @@ int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup)
ct->regs.ack = irq_setup->ack + i * 4;
ct->regs.mask = irq_setup->mask + i * 4;
- irq_setup_generic_chip(gc, mask[i], 0, IRQ_NOREQUEST, 0);
+ irq_setup_generic_chip(gc, mask[i], 0, IRQ_NOREQUEST,
+ IRQ_NOAUTOEN);
prcm_irq_chips[i] = gc;
}
--
1.7.9.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-27 23:15 ` Kevin Hilman
@ 2012-04-28 11:51 ` Mohammed, Afzal
2012-04-30 12:46 ` Tero Kristo
1 sibling, 0 replies; 39+ messages in thread
From: Mohammed, Afzal @ 2012-04-28 11:51 UTC (permalink / raw)
To: Hilman, Kevin, Kristo, Tero; +Cc: Paul Walmsley, linux-omap
Hi Kevin,
On Sat, Apr 28, 2012 at 04:45:21, Hilman, Kevin wrote:
> Afzal, care to test the patch below to see if it fixes your boot problem
> on OMAP3EVM with the IO chain series?
Your patch fixes the boot problem
Regards
Afzal
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-27 23:15 ` Kevin Hilman
2012-04-28 11:51 ` Mohammed, Afzal
@ 2012-04-30 12:46 ` Tero Kristo
2012-04-30 20:40 ` Kevin Hilman
1 sibling, 1 reply; 39+ messages in thread
From: Tero Kristo @ 2012-04-30 12:46 UTC (permalink / raw)
To: Kevin Hilman; +Cc: Mohammed, Afzal, Paul Walmsley, linux-omap
On Fri, 2012-04-27 at 16:15 -0700, Kevin Hilman wrote:
> Tero Kristo <t-kristo@ti.com> writes:
>
> > On Tue, 2012-04-24 at 10:07 -0700, Kevin Hilman wrote:
>
> [...]
>
> >> > From 26733dd988ccc9e72355a39e01b2d6e9215a892d Mon Sep 17 00:00:00 2001
> >> > From: Tero Kristo <t-kristo@ti.com>
> >> > Date: Mon, 23 Apr 2012 12:14:46 +0300
> >> > Subject: [PATCH] ARM: OMAP3: PM: move wakeup event ack to hwmod_io handler
> >> >
> >> > PRCM IO interrupts are handled with a shared interrupt handler logic.
> >> > Currently hwmod_io is processing the actual event, but the acking
> >> > of the IO wakeups is done from the PM code with a separate handler.
> >> > If a wakeup event is detected during init before the PM code is in
> >> > place, the interrupt handler can hang in an infinite loop. Fix this
> >> > by removing the pm_io handler, and calling its functionality from
> >> > within the hwmod_io handler. This fix applies only to OMAP3, as
> >> > OMAP4 does not have similar wakeup handling logic.
> >> >
> >> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
> >>
> >>
> >> Doesn't this mean that even on a !PM kernel that IO events might still
> >> be firing for nothing?
> >
> > I actually disabled the IO handler in !PM kernel, as I thought this
> > would be a problem there.
>
> OK
>
> >> Seems like it would be better to ensure that these interrupts are just
> >> disabled until the PM core initializes and can enable them.
> >
> > I thought about this but I couldn't figure out a clean way to do this.
> > If I do irq_request, it automatically enables the interrupt, and if
> > there is an interrupt pending it will fire immediately and get stuck.
>
> hmm, I thought there was a flag for disabling the auto-enable feature...
> /me looks
>
> Yup, from <linux/irq.h>
>
> * IRQ_NOAUTOEN - Interrupt is not automatically enabled in
> * request/setup_irq()
>
> With that, we can just set all the PRCM IRQs to be disabled until
> explicitly enabled using enable_irq(). The following patch (only boot
> tested on OMAP3530/Overo and OMAP4430/Panda) should take care of it.
>
> Do you think that should solve this problem?
Yea that works. However your patch implements the disable for all PRCM
interrupts, and this is only needed for the IO event on OMAP3. How about
something like this:
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -691,6 +691,8 @@ static int __init omap3_pm_init(void)
goto err2;
}
+ enable_irq(omap_prcm_event_to_irq("io"));
+
ret = pwrdm_for_each(pwrdms_setup, NULL);
if (ret) {
pr_err("Failed to setup powerdomains\n");
diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c
b/arch/arm/mach-omap2/prm2xxx_3xxx.c
index b8962fe..2b12bb9 100644
--- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
@@ -15,6 +15,7 @@
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/io.h>
+#include <linux/irq.h>
#include "common.h"
#include <plat/cpu.h>
@@ -339,9 +340,13 @@ static void __init omap3_enable_io_wakeup(void)
static int __init omap3xxx_prcm_init(void)
{
+ int ret = 0;
+
if (cpu_is_omap34xx()) {
omap3_enable_io_wakeup();
- return
omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ ret =
omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ irq_set_status_flags(omap_prcm_event_to_irq("io"),
+ IRQ_NOAUTOEN);
}
- return 0;
+ return ret;
}
^ permalink raw reply related [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-30 12:46 ` Tero Kristo
@ 2012-04-30 20:40 ` Kevin Hilman
2012-05-01 12:55 ` Mohammed, Afzal
2012-05-02 8:45 ` Paul Walmsley
0 siblings, 2 replies; 39+ messages in thread
From: Kevin Hilman @ 2012-04-30 20:40 UTC (permalink / raw)
To: t-kristo; +Cc: Mohammed, Afzal, Paul Walmsley, linux-omap
Tero Kristo <t-kristo@ti.com> writes:
> On Fri, 2012-04-27 at 16:15 -0700, Kevin Hilman wrote:
>> Tero Kristo <t-kristo@ti.com> writes:
>>
>> > On Tue, 2012-04-24 at 10:07 -0700, Kevin Hilman wrote:
>>
>> [...]
>>
>> >> > From 26733dd988ccc9e72355a39e01b2d6e9215a892d Mon Sep 17 00:00:00 2001
>> >> > From: Tero Kristo <t-kristo@ti.com>
>> >> > Date: Mon, 23 Apr 2012 12:14:46 +0300
>> >> > Subject: [PATCH] ARM: OMAP3: PM: move wakeup event ack to hwmod_io handler
>> >> >
>> >> > PRCM IO interrupts are handled with a shared interrupt handler logic.
>> >> > Currently hwmod_io is processing the actual event, but the acking
>> >> > of the IO wakeups is done from the PM code with a separate handler.
>> >> > If a wakeup event is detected during init before the PM code is in
>> >> > place, the interrupt handler can hang in an infinite loop. Fix this
>> >> > by removing the pm_io handler, and calling its functionality from
>> >> > within the hwmod_io handler. This fix applies only to OMAP3, as
>> >> > OMAP4 does not have similar wakeup handling logic.
>> >> >
>> >> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
>> >>
>> >>
>> >> Doesn't this mean that even on a !PM kernel that IO events might still
>> >> be firing for nothing?
>> >
>> > I actually disabled the IO handler in !PM kernel, as I thought this
>> > would be a problem there.
>>
>> OK
>>
>> >> Seems like it would be better to ensure that these interrupts are just
>> >> disabled until the PM core initializes and can enable them.
>> >
>> > I thought about this but I couldn't figure out a clean way to do this.
>> > If I do irq_request, it automatically enables the interrupt, and if
>> > there is an interrupt pending it will fire immediately and get stuck.
>>
>> hmm, I thought there was a flag for disabling the auto-enable feature...
>> /me looks
>>
>> Yup, from <linux/irq.h>
>>
>> * IRQ_NOAUTOEN - Interrupt is not automatically enabled in
>> * request/setup_irq()
>>
>> With that, we can just set all the PRCM IRQs to be disabled until
>> explicitly enabled using enable_irq(). The following patch (only boot
>> tested on OMAP3530/Overo and OMAP4430/Panda) should take care of it.
>>
>> Do you think that should solve this problem?
>
> Yea that works. However your patch implements the disable for all PRCM
> interrupts, and this is only needed for the IO event on OMAP3.
> How about something like this:
Your patch seems to have been mangled, but I think I get the idea, and
that looks right.
I've updated my patch to use (what I understood to be) your idea and
updated the changelog to reflect that it's a targetted fix for just the
IO interrupt on OMAP3.
Afzal, care to give this one a test as well? It should have the same
result but is a more targetted fix. With and ack from Tero and a
Tested-by from you, I'll post this to the list and and queue it up for
v3.5.
Thanks,
Kevin
>From 274ded7fbe573bbbe45db80bdc1989272077c011 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Fri, 27 Apr 2012 16:05:51 -0700
Subject: [PATCH] ARM: OMAP3: PM: leave PRCM interrupts disabled until
explicitly enabled.
By default, request_irq() will auto-enable the requested IRQ.
For PRCM interrupts, we may want to avoid that until the PM core code
is fully ready to handle the interrupts. This is particularily true
for IO pad interrupts on OMAP3, which are shared between the hwmod
core and the PRM core.
In order to avoid PRCM IO-chain interrupts until the PM core is ready
to handle them, ready, set the IRQ_NOAUTOEN flag for the PRCM IO-chain
interrupt, which means it will remain disabled after request_irq().
Then, explicitly enable the PRCM interrupts after the request_irq() in
the PM core (but not in the hwmod core.)
Special thanks to Tero Kristo for suggesting to isolate the fix to
only the IO-chain interrupt on OMAP3 instead of all PRCM interrupts.
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/pm34xx.c | 1 +
arch/arm/mach-omap2/prm2xxx_3xxx.c | 14 +++++++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 66ff828..b40de27 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -732,6 +732,7 @@ static int __init omap3_pm_init(void)
ret = request_irq(omap_prcm_event_to_irq("io"),
_prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
omap3_pm_init);
+ enable_irq(omap_prcm_event_to_irq("io"));
if (ret) {
pr_err("pm: Failed to request pm_io irq\n");
diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
index 9ce7654..21cb740 100644
--- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
@@ -15,6 +15,7 @@
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/io.h>
+#include <linux/irq.h>
#include "common.h"
#include <plat/cpu.h>
@@ -303,8 +304,15 @@ void omap3xxx_prm_restore_irqen(u32 *saved_mask)
static int __init omap3xxx_prcm_init(void)
{
- if (cpu_is_omap34xx())
- return omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
- return 0;
+ int ret = 0;
+
+ if (cpu_is_omap34xx()) {
+ ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ if (!ret)
+ irq_set_status_flags(omap_prcm_event_to_irq("io"),
+ IRQ_NOAUTOEN);
+ }
+
+ return ret;
}
subsys_initcall(omap3xxx_prcm_init);
--
1.7.9.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-04-30 20:40 ` Kevin Hilman
@ 2012-05-01 12:55 ` Mohammed, Afzal
2012-05-01 14:08 ` Kevin Hilman
2012-05-02 8:45 ` Paul Walmsley
1 sibling, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-05-01 12:55 UTC (permalink / raw)
To: Hilman, Kevin, Kristo, Tero; +Cc: Paul Walmsley, linux-omap
Hi Kevin,
On Tue, May 01, 2012 at 02:10:28, Hilman, Kevin wrote:
>
> Afzal, care to give this one a test as well? It should have the same
> result but is a more targetted fix. With and ack from Tero and a
> Tested-by from you, I'll post this to the list and and queue it up for
> v3.5.
Over what commit id, should this patch be applied ?, unable to apply it over
"297624c ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle", the
one that I tested your previous patch.
Regards
Afzal
>
> From 274ded7fbe573bbbe45db80bdc1989272077c011 Mon Sep 17 00:00:00 2001
> From: Kevin Hilman <khilman@ti.com>
> Date: Fri, 27 Apr 2012 16:05:51 -0700
> Subject: [PATCH] ARM: OMAP3: PM: leave PRCM interrupts disabled until
> explicitly enabled.
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-05-01 12:55 ` Mohammed, Afzal
@ 2012-05-01 14:08 ` Kevin Hilman
2012-05-02 5:48 ` Mohammed, Afzal
0 siblings, 1 reply; 39+ messages in thread
From: Kevin Hilman @ 2012-05-01 14:08 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: Kristo, Tero, Paul Walmsley, linux-omap
"Mohammed, Afzal" <afzal@ti.com> writes:
> Hi Kevin,
>
> On Tue, May 01, 2012 at 02:10:28, Hilman, Kevin wrote:
>>
>> Afzal, care to give this one a test as well? It should have the same
>> result but is a more targetted fix. With and ack from Tero and a
>> Tested-by from you, I'll post this to the list and and queue it up for
>> v3.5.
>
> Over what commit id, should this patch be applied ?, unable to apply it over
> "297624c ARM: OMAP3: PM: Remove IO Daisychain control from cpuidle", the
> one that I tested your previous patch.
Oops, my fault.
Below is a version that applies on top of the IO chain branch currently
in Paul's tree[1].
Kevin
[1] git://git.pwsan.com/linux-2.6 io_chain_devel_3.5
>From d94f04eea40686cd9db8e9dbd8dbf3c02edca07f Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Tue, 1 May 2012 07:06:42 -0700
Subject: [PATCH] ARM: OMAP3: PM: leave PRCM interrupts disabled until
explicitly enabled.
By default, request_irq() will auto-enable the requested IRQ.
For PRCM interrupts, we may want to avoid that until the PM core code
is fully ready to handle the interrupts. This is particularily true
for IO pad interrupts on OMAP3, which are shared between the hwmod
core and the PRM core.
In order to avoid PRCM IO-chain interrupts until the PM core is ready
to handle them, ready, set the IRQ_NOAUTOEN flag for the PRCM IO-chain
interrupt, which means it will remain disabled after request_irq().
Then, explicitly enable the PRCM interrupts after the request_irq() in
the PM core (but not in the hwmod core.)
Special thanks to Tero Kristo for suggesting to isolate the fix to
only the IO-chain interrupt on OMAP3 instead of all PRCM interrupts.
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/pm34xx.c | 1 +
arch/arm/mach-omap2/prm2xxx_3xxx.c | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 3e6b564..745a151 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -685,6 +685,7 @@ static int __init omap3_pm_init(void)
ret = request_irq(omap_prcm_event_to_irq("io"),
_prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
omap3_pm_init);
+ enable_irq(omap_prcm_event_to_irq("io"));
if (ret) {
pr_err("pm: Failed to request pm_io irq\n");
diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
index 1471a33..a8c6bd8 100644
--- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
@@ -350,10 +350,16 @@ static void __init omap3xxx_prm_enable_io_wakeup(void)
static int __init omap3xxx_prcm_init(void)
{
+ int ret = 0;
+
if (cpu_is_omap34xx()) {
omap3xxx_prm_enable_io_wakeup();
- return omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ if (!ret)
+ irq_set_status_flags(omap_prcm_event_to_irq("io"),
+ IRQ_NOAUTOEN);
}
- return 0;
+
+ return ret;
}
subsys_initcall(omap3xxx_prcm_init);
--
1.7.9.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-05-01 14:08 ` Kevin Hilman
@ 2012-05-02 5:48 ` Mohammed, Afzal
2012-05-02 8:39 ` Tero Kristo
0 siblings, 1 reply; 39+ messages in thread
From: Mohammed, Afzal @ 2012-05-02 5:48 UTC (permalink / raw)
To: Hilman, Kevin; +Cc: Kristo, Tero, Paul Walmsley, linux-omap
Hi Kevin,
On Tue, May 01, 2012 at 19:38:00, Hilman, Kevin wrote:
> >> Afzal, care to give this one a test as well? It should have the same
> >> result but is a more targetted fix. With and ack from Tero and a
> >> Tested-by from you, I'll post this to the list and and queue it up for
> >> v3.5.
With an additional diff [1], your patch makes omap3evm boot
Without [1], compiler error
Regards
Afzal
[1]
diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
index a8c6bd8..a0309de 100644
--- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
@@ -15,6 +15,7 @@
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/io.h>
+#include <linux/irq.h>
#include "common.h"
#include <plat/cpu.h>
^ permalink raw reply related [flat|nested] 39+ messages in thread
* RE: OMAP3EVM not booting on l-o master
2012-05-02 5:48 ` Mohammed, Afzal
@ 2012-05-02 8:39 ` Tero Kristo
0 siblings, 0 replies; 39+ messages in thread
From: Tero Kristo @ 2012-05-02 8:39 UTC (permalink / raw)
To: Mohammed, Afzal; +Cc: Hilman, Kevin, Paul Walmsley, linux-omap
On Wed, 2012-05-02 at 07:48 +0200, Mohammed, Afzal wrote:
> Hi Kevin,
>
> On Tue, May 01, 2012 at 19:38:00, Hilman, Kevin wrote:
> > >> Afzal, care to give this one a test as well? It should have the same
> > >> result but is a more targetted fix. With and ack from Tero and a
> > >> Tested-by from you, I'll post this to the list and and queue it up for
> > >> v3.5.
>
> With an additional diff [1], your patch makes omap3evm boot
>
> Without [1], compiler error
>
> Regards
> Afzal
>
> [1]
>
> diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
> index a8c6bd8..a0309de 100644
> --- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
> +++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
> @@ -15,6 +15,7 @@
> #include <linux/errno.h>
> #include <linux/err.h>
> #include <linux/io.h>
> +#include <linux/irq.h>
>
> #include "common.h"
> #include <plat/cpu.h>
With this addition Kevin's patch looks good to me, so acked.
-Tero
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-04-30 20:40 ` Kevin Hilman
2012-05-01 12:55 ` Mohammed, Afzal
@ 2012-05-02 8:45 ` Paul Walmsley
2012-05-02 14:27 ` Kevin Hilman
1 sibling, 1 reply; 39+ messages in thread
From: Paul Walmsley @ 2012-05-02 8:45 UTC (permalink / raw)
To: Kevin Hilman; +Cc: linux-omap\@vger.kernel.org
Hi Kevin,
> Afzal, care to give this one a test as well? It should have the same
> result but is a more targetted fix. With and ack from Tero and a
> Tested-by from you, I'll post this to the list and and queue it up for
> v3.5.
just checking on this one to discuss how we should handle the
io_chain_devel_3.5 branch on my git tree, which would depend on this
patch... this is a tricky series since it touches PM, PRM, and hwmod
code...
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-05-02 8:45 ` Paul Walmsley
@ 2012-05-02 14:27 ` Kevin Hilman
2012-05-11 22:39 ` Paul Walmsley
0 siblings, 1 reply; 39+ messages in thread
From: Kevin Hilman @ 2012-05-02 14:27 UTC (permalink / raw)
To: Paul Walmsley; +Cc: linux-omap
Paul Walmsley <paul@pwsan.com> writes:
> Hi Kevin,
>
>> Afzal, care to give this one a test as well? It should have the same
>> result but is a more targetted fix. With and ack from Tero and a
>> Tested-by from you, I'll post this to the list and and queue it up for
>> v3.5.
>
> just checking on this one to discuss how we should handle the
> io_chain_devel_3.5 branch on my git tree, which would depend on this
> patch... this is a tricky series since it touches PM, PRM, and hwmod
> code...
Right, you should probably take this patch along with the
io_chain_devel_3.5 branch. Below is a version that applies on top of
io_chain_devel_3.5 with an ack from Tero and Tested-by from Mohammed.
Kevin
>From 22726db6fc514cc5110db43fdf05d5afda8e4a59 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Tue, 1 May 2012 07:06:42 -0700
Subject: [PATCH] ARM: OMAP3: PM: leave PRCM interrupts disabled until
explicitly enabled.
By default, request_irq() will auto-enable the requested IRQ.
For PRCM interrupts, we may want to avoid that until the PM core code
is fully ready to handle the interrupts. This is particularily true
for IO pad interrupts on OMAP3, which are shared between the hwmod
core and the PRM core.
In order to avoid PRCM IO-chain interrupts until the PM core is ready
to handle them, ready, set the IRQ_NOAUTOEN flag for the PRCM IO-chain
interrupt, which means it will remain disabled after request_irq().
Then, explicitly enable the PRCM interrupts after the request_irq() in
the PM core (but not in the hwmod core.)
Special thanks to Tero Kristo for suggesting to isolate the fix to
only the IO-chain interrupt on OMAP3 instead of all PRCM interrupts.
Tested-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/pm34xx.c | 1 +
arch/arm/mach-omap2/prm2xxx_3xxx.c | 11 +++++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 3e6b564..745a151 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -685,6 +685,7 @@ static int __init omap3_pm_init(void)
ret = request_irq(omap_prcm_event_to_irq("io"),
_prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
omap3_pm_init);
+ enable_irq(omap_prcm_event_to_irq("io"));
if (ret) {
pr_err("pm: Failed to request pm_io irq\n");
diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
index 1471a33..a0309de 100644
--- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
@@ -15,6 +15,7 @@
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/io.h>
+#include <linux/irq.h>
#include "common.h"
#include <plat/cpu.h>
@@ -350,10 +351,16 @@ static void __init omap3xxx_prm_enable_io_wakeup(void)
static int __init omap3xxx_prcm_init(void)
{
+ int ret = 0;
+
if (cpu_is_omap34xx()) {
omap3xxx_prm_enable_io_wakeup();
- return omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+ if (!ret)
+ irq_set_status_flags(omap_prcm_event_to_irq("io"),
+ IRQ_NOAUTOEN);
}
- return 0;
+
+ return ret;
}
subsys_initcall(omap3xxx_prcm_init);
--
1.7.9.2
^ permalink raw reply related [flat|nested] 39+ messages in thread
* Re: OMAP3EVM not booting on l-o master
2012-05-02 14:27 ` Kevin Hilman
@ 2012-05-11 22:39 ` Paul Walmsley
0 siblings, 0 replies; 39+ messages in thread
From: Paul Walmsley @ 2012-05-11 22:39 UTC (permalink / raw)
To: Kevin Hilman; +Cc: linux-omap\@vger.kernel.org
Hi Kevin,
On Wed, 2 May 2012, Kevin Hilman wrote:
> >From 22726db6fc514cc5110db43fdf05d5afda8e4a59 Mon Sep 17 00:00:00 2001
> From: Kevin Hilman <khilman@ti.com>
> Date: Tue, 1 May 2012 07:06:42 -0700
> Subject: [PATCH] ARM: OMAP3: PM: leave PRCM interrupts disabled until
> explicitly enabled.
>
> By default, request_irq() will auto-enable the requested IRQ.
>
> For PRCM interrupts, we may want to avoid that until the PM core code
> is fully ready to handle the interrupts. This is particularily true
> for IO pad interrupts on OMAP3, which are shared between the hwmod
> core and the PRM core.
>
> In order to avoid PRCM IO-chain interrupts until the PM core is ready
> to handle them, ready, set the IRQ_NOAUTOEN flag for the PRCM IO-chain
> interrupt, which means it will remain disabled after request_irq().
>
> Then, explicitly enable the PRCM interrupts after the request_irq() in
> the PM core (but not in the hwmod core.)
>
> Special thanks to Tero Kristo for suggesting to isolate the fix to
> only the IO-chain interrupt on OMAP3 instead of all PRCM interrupts.
>
> Tested-by: Afzal Mohammed <afzal@ti.com>
> Acked-by: Tero Kristo <t-kristo@ti.com>
> Cc: Paul Walmsley <paul@pwsan.com>
> Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
If for some reason it doesn't get in for 3.5, let me know and I'll queue
with the other IO chain patches for 3.6 as we discussed.
- Paul
^ permalink raw reply [flat|nested] 39+ messages in thread
end of thread, other threads:[~2012-05-11 22:39 UTC | newest]
Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-04 5:36 OMAP3EVM not booting on l-o master Mohammed, Afzal
2012-04-04 9:11 ` Mohammed, Afzal
2012-04-05 9:33 ` Paul Walmsley
2012-04-05 10:07 ` Paul Walmsley
2012-04-05 16:22 ` Mohammed, Afzal
2012-04-05 19:52 ` Paul Walmsley
2012-04-06 5:09 ` Mohammed, Afzal
2012-04-06 7:13 ` Paul Walmsley
2012-04-06 7:52 ` Mohammed, Afzal
2012-04-23 9:24 ` Tero Kristo
2012-04-23 10:07 ` Mohammed, Afzal
2012-04-23 10:13 ` Tero Kristo
2012-04-23 10:43 ` Mohammed, Afzal
2012-04-23 11:59 ` Tero Kristo
2012-04-24 12:00 ` Mohammed, Afzal
2012-04-24 12:23 ` Tero Kristo
2012-04-24 17:07 ` Kevin Hilman
2012-04-27 13:16 ` Tero Kristo
2012-04-27 23:15 ` Kevin Hilman
2012-04-28 11:51 ` Mohammed, Afzal
2012-04-30 12:46 ` Tero Kristo
2012-04-30 20:40 ` Kevin Hilman
2012-05-01 12:55 ` Mohammed, Afzal
2012-05-01 14:08 ` Kevin Hilman
2012-05-02 5:48 ` Mohammed, Afzal
2012-05-02 8:39 ` Tero Kristo
2012-05-02 8:45 ` Paul Walmsley
2012-05-02 14:27 ` Kevin Hilman
2012-05-11 22:39 ` Paul Walmsley
2012-04-05 21:21 ` Kevin Hilman
2012-04-05 10:11 ` Mohammed, Afzal
2012-04-05 10:17 ` Paul Walmsley
2012-04-05 10:23 ` Raja, Govindraj
2012-04-05 16:19 ` Mohammed, Afzal
2012-04-05 17:16 ` Tony Lindgren
2012-04-06 4:54 ` Mohammed, Afzal
2012-04-06 17:41 ` Tony Lindgren
2012-04-06 18:08 ` Paul Walmsley
2012-04-06 18:24 ` Tony Lindgren
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.