Observed below crash with CONFIG_DEBUG_FS enabled
ledtrig-cpu: registered to indicate activity on CPUs
[ 2.108303] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.116667] usbcore: registered new interface driver usbhid
[ 2.122359] usbhid: USB HID core driver
[ 2.128641] mxc-isi 32e20000.isi: mxc_isi.0 registered successfully
[ 2.136202] mxc-mipi-csi2-sam 32e30000.csi: 32e30000.csi supply mipi-phy not found, using dummy regulator
[ 2.146402] mxc-mipi-csi2-sam 32e30000.csi: lanes: 2, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 333000000
[ 2.158746] ashmem: initialized
[ 2.165910] galcore: clk_get 2d core clock failed, disable 2d/vg!
[ 2.172400] Galcore version 6.4.0.234062
[ 2.246209] Unable to handle kernel paging request at virtual address ffff800009043e34
[ 2.251763] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[ 2.254143] Mem abort info:
[ 2.254146] ESR = 0x86000006
[ 2.262195] mmcblk2: mmc2:0001 AJTD4R 14.6 GiB
[ 2.263311] EC = 0x21: IABT (current EL), IL = 32 bits
[ 2.266617] mmcblk2boot0: mmc2:0001 AJTD4R partition 1 4.00 MiB
[ 2.270888] SET = 0, FnV = 0
[ 2.270891] EA = 0, S1PTW = 0
[ 2.276446] mmcblk2boot1: mmc2:0001 AJTD4R partition 2 4.00 MiB
[ 2.282130] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000041e3e000
[ 2.286079] mmcblk2rpmb: mmc2:0001 AJTD4R partition 3 4.00 MiB, chardev (236:0)
[ 2.288321] [ffff800009043e34] pgd=00000000bffff003, pud=00000000bfffe003, pmd=0000000000000000
[ 2.302941] mmcblk2: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 2.308267] Internal error: Oops: 86000006 [#1] PREEMPT SMP
[ 2.329921] Modules linked in:
[ 2.332985] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.24-01800-gc66653f63a84-dirty #1
[ 2.341159] Hardware name: Variscite VAR-SOM-MX8MN (DT)
[ 2.346384] pstate: 80400005 (Nzcv daif +PAN -UAO)
[ 2.351178] pc : 0xffff800009043e34
[ 2.354673] lr : gckKERNEL_Construct+0x368/0x708
[ 2.359287] sp : ffff80001003b8f0
[ 2.362599] x29: ffff80001003b970 x28: ffff00007adab230
[ 2.367910] x27: 0000000000000000 x26: ffff00007ada7958
[ 2.373221] x25: 0000000000000000 x24: ffff00007ada7818
[ 2.378531] x23: ffff00007adab800 x22: 0000000000000000
[ 2.383842] x21: ffff00007adeb000 x20: ffff00007ada7800
[ 2.389152] x19: ffff00007adab008 x18: 0000000000000000
[ 2.394462] x17: ffff00007a006790 x16: ffff80001218f000
[ 2.399773] x15: ffff80001218d000 x14: 0000000000000000
[ 2.405083] x13: ffff80001218dfff x12: ffff80001218dfff
[ 2.410394] x11: 0000000000000030 x10: 0101010101010101
[ 2.415704] x9 : 0000000000000002 x8 : 0000000000000000
[ 2.421014] x7 : 6eff64636e4c6f6e x6 : 0000000000008000
[ 2.426325] x5 : 0000000000000000 x4 : 0080000000000000
[ 2.431635] x3 : ffff00007ada7818 x2 : 0000000000000000
[ 2.436945] x1 : ffff00007adab800 x0 : 0000000018000000
[ 2.442256] Call trace:
[ 2.444702] 0xffff800009043e34
[ 2.447845] gckDEVICE_AddCore+0x48/0x184
[ 2.451855] gckGALDEVICE_Construct+0x4fc/0xb34
[ 2.456385] gpu_probe+0x90c/0xa44
[ 2.459790] platform_drv_probe+0x8c/0xb4
[ 2.463798] really_probe+0x254/0x540
[ 2.467459] driver_probe_device+0x60/0xf8
[ 2.471554] device_driver_attach+0x68/0xa4
[ 2.475736] __driver_attach+0xc0/0x140
[ 2.479571] bus_for_each_dev+0x78/0xc0
[ 2.483405] driver_attach+0x20/0x28
[ 2.486978] bus_add_driver+0xf8/0x1d8
[ 2.490727] driver_register+0x74/0x108
[ 2.494562] __platform_driver_register+0x40/0x48
[ 2.499267] gpu_init+0x44/0x94
[ 2.502411] do_one_initcall+0x138/0x2c8
[ 2.506338] do_initcall_level+0x14c/0x174
[ 2.510433] do_basic_setup+0x2c/0x44
[ 2.514095] kernel_init_freeable+0xbc/0x13c
[ 2.518368] kernel_init+0x14/0x290
[ 2.521855] ret_from_fork+0x10/0x18
[ 2.525441] Code: bad PC value
[ 2.528509] ---[ end trace 556a173f14c0c7a3 ]---
[ 2.533159] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 2.540818] SMP: stopping secondary CPUs
[ 2.545049] Kernel Offset: disabled
cheers,
mohit
Debugging further with CONFIG_DEBUG_FS enabled the crash comes when the control reaches gckDEVICE_Construct
--->gckGALDEVICE_Construct (drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c)
--->gcmkONERROR(gckDEVICE_Construct(device->os, &device->device)); (drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c)
I had put at the entry of gckDEVICE_Construct, however crash comes during the call it self and print doesn't show up.
If I make CONFIG_MXC_GPU_VIV as a lodable module (CONFIG_MXC_GPU_VIV=m) an load it from init.rc I don't see this crash instead see a Android system error after boot up "There's an internal problem with your device. Contact your manufacturer for details" and debugfs gets mounted( /sys/kernel/debug).
cheers,
mohit