Tool/software: Linux
I have custom board based on AM335x, and adapting TI Linux from TI's git repository. I have troubles with bc_example kernel module, when I modprobing it, it just segfaults:
root@am335x-evm:~# modprobe bc_example [ 858.698665] bc_example: BC_Example_ModInit: major device 247 [ 858.721003] PVR_K:(Fatal): Debug assertion failed! [ 858.747999] ------------[ cut here ]------------ [ 858.752707] Kernel BUG at bf1b9eac [verbose debug info unavailable] [ 858.759024] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM [ 858.764549] Modules linked in: bc_example(O+) usbhid pvrsrvkm(O) xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 af_key xfrm_algo usb_f_mass_storage usb_f_rndis u_ether libcomposite configfs musb_dsps musb_hdrc udc_core usbcore ti_am335x_adc usb_common kfifo_buf omap_aes omap_sham omap_rng rng_core c_can_platform c_can can_dev ti_am335x_tsc musb_am335x ti_am335x_tscadc rtc_omap omap_wdt sch_fq_codel [ 858.800845] CPU: 0 PID: 797 Comm: modprobe Tainted: G O 4.4.36 #16 [ 858.808203] Hardware name: Generic AM33XX (Flattened Device Tree) [ 858.814341] task: ddff0580 ti: dddaa000 task.ti: dddaa000 [ 858.820669] PC is at PVRSRVRegisterBCDeviceKM+0x2a4/0x2a8 [pvrsrvkm] [ 858.827623] LR is at LinuxUnLockMutex+0x10/0x14 [pvrsrvkm] [ 858.833155] pc : [<bf1b9eac>] lr : [<bf1a12ec>] psr: 20010013 [ 858.833155] sp : dddabd50 ip : dddabd18 fp : dddabd84 [ 858.844703] r10: ddd78f24 r9 : 00000553 r8 : 00000000 [ 858.849967] r7 : ddf48540 r6 : 00000000 r5 : ddf4855c r4 : ddf48540 [ 858.856540] r3 : 60010013 r2 : 00000001 r1 : 00000000 r0 : bf1d9e38 [ 858.863116] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none [ 858.870300] Control: 10c5387d Table: 9c8e4019 DAC: 00000051 [ 858.876088] Process modprobe (pid: 797, stack limit = 0xdddaa208) [ 858.882224] Stack: (0xdddabd50 to 0xdddac000) [ 858.886627] bd40: c00f4dd0 c00f4988 00000000 00000000 [ 858.894875] bd60: 00000000 ddf48540 bf23f440 00000000 ddd783c0 00000000 dddabda4 dddabd88 [ 858.903123] bd80: bf23e2a0 bf1b9c14 bf23f448 bf23efd8 c08d8e60 ddd783c0 dddabdb4 dddabda8 [ 858.911371] bda0: bf23e5c4 bf23e16c dddabdd4 dddabdb8 bf2410e0 bf23e5c0 bf23efd8 c08d8e60 [ 858.919618] bdc0: c08d8e60 bf241000 dddabe4c dddabdd8 c00096bc bf24100c de7713dc 00080000 [ 858.927865] bde0: 00000000 de36d000 00000553 ddd78f24 dddabe2c dddabe00 c00b97a0 c00b7640 [ 858.936111] be00: 00000553 ddd78f24 dddabe2c 00000000 ddd78840 e0e33000 00000001 00000001 [ 858.944356] be20: dddabe44 00000004 ddd78840 bf23f280 00000001 bf23f280 ddd78840 00000001 [ 858.952603] be40: dddabe74 dddabe50 c00b1778 c0009630 bf23f280 ddd78f00 dddabf44 00000001 [ 858.960849] be60: bf23f280 ddd78f00 dddabf3c dddabe78 c00920b8 c00b171c bf23f28c 00007fff [ 858.969098] be80: bf23f280 c008f530 00000000 dddabf44 c07d970c c07d96e4 c07d973c c07d96d8 [ 858.977345] bea0: c064edc0 bf23f28c bf23f418 e0e362d0 bf23f280 dddabf44 bf23f280 bf23f2c8 [ 858.985590] bec0: e0e33000 00003320 00007ec2 00000000 0000000f 00000000 00000000 00000000 [ 858.993836] bee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 859.002081] bf00: 00000000 00000000 00000000 00000000 00000020 00000000 00000003 0002923c [ 859.010329] bf20: 0000017b c000fb44 dddaa000 00000000 dddabfa4 dddabf40 c0092550 c00903c8 [ 859.018576] bf40: 00000002 e0e33000 00003320 e0e35fb0 e0e34d4b e0e355dc 00001460 000018d0 [ 859.026822] bf60: 00000000 00000000 00000000 00000e30 00000014 00000015 0000000c 00000009 [ 859.035068] bf80: 00000008 00000000 00000000 00000000 0003a710 00000000 00000000 dddabfa8 [ 859.043315] bfa0: c000f980 c00924d4 00000000 0003a710 00000003 0002923c 00000000 0003b320 [ 859.051563] bfc0: 00000000 0003a710 00000000 0000017b 0003b330 00000000 00000000 0003b268 [ 859.059809] bfe0: bec77900 bec778f0 0001f540 b6f47df2 80080030 00000003 00000000 00000000 [ 859.068030] Backtrace: [ 859.071077] [<bf1b9c08>] (PVRSRVRegisterBCDeviceKM [pvrsrvkm]) from [<bf23e2a0>] (BC_Example_Register+0x140/0x150 [bc_example]) [ 859.082619] r8:00000000 r7:ddd783c0 r6:00000000 r5:bf23f440 r4:ddf48540 [ 859.089488] [<bf23e160>] (BC_Example_Register [bc_example]) from [<bf23e5c4>] (BC_Example_Init+0x10/0x20 [bc_example]) [ 859.100243] r7:ddd783c0 r6:c08d8e60 r5:bf23efd8 r4:bf23f448 [ 859.106043] [<bf23e5b4>] (BC_Example_Init [bc_example]) from [<bf2410e0>] (BC_Example_ModInit+0xe0/0x11c [bc_example]) [ 859.116851] [<bf241000>] (BC_Example_ModInit [bc_example]) from [<c00096bc>] (do_one_initcall+0x98/0x1dc) [ 859.126473] r5:bf241000 r4:c08d8e60 [ 859.130130] [<c0009624>] (do_one_initcall) from [<c00b1778>] (do_init_module+0x68/0x390) [ 859.138267] r8:00000001 r7:ddd78840 r6:bf23f280 r5:00000001 r4:bf23f280 [ 859.145106] [<c00b1710>] (do_init_module) from [<c00920b8>] (load_module+0x1cfc/0x1fa4) [ 859.153157] r7:ddd78f00 r6:bf23f280 r5:00000001 r4:dddabf44 [ 859.158923] [<c00903bc>] (load_module) from [<c0092550>] (SyS_finit_module+0x88/0x98) [ 859.166801] r10:00000000 r9:dddaa000 r8:c000fb44 r7:0000017b r6:0002923c r5:00000003 [ 859.174748] r4:00000000 [ 859.177341] [<c00924c8>] (SyS_finit_module) from [<c000f980>] (ret_fast_syscall+0x0/0x3c) [ 859.185564] r6:00000000 r5:0003a710 r4:00000000 [ 859.190271] Code: e34b1f1d e3a020db e3a00001 ebff92a8 (e7f001f2) [ 859.227763] ---[ end trace 225561f0ee14a15e ]--- Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.759024] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.876088] Process modprobe (pid: 797, stack limit = 0xdddaa208) Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.882224] Stack: (0xdddabd50 to 0xdddac000) Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.886627] bd40: c00f4dd0 c00f4988 00000000 00000000 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.894875] bd60: 00000000 ddf48540 bf23f440 00000000 ddd783c0 00000000 dddabda4 dddabd88 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.903123] bd80: bf23e2a0 bf1b9c14 bf23f448 bf23efd8 c08d8e60 ddd783c0 dddabdb4 dddabda8 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.911371] bda0: bf23e5c4 bf23e16c dddabdd4 dddabdb8 bf2410e0 bf23e5c0 bf23efd8 c08d8e60 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.919618] bdc0: c08d8e60 bf241000 dddabe4c dddabdd8 c00096bc bf24100c de7713dc 00080000 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.927865] bde0: 00000000 de36d000 00000553 ddd78f24 dddabe2c dddabe00 c00b97a0 c00b7640 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.936111] be00: 00000553 ddd78f24 dddabe2c 00000000 ddd78840 e0e33000 00000001 00000001 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.944356] be20: dddabe44 00000004 ddd78840 bf23f280 00000001 bf23f280 ddd78840 00000001 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.952603] be40: dddabe74 dddabe50 c00b1778 c0009630 bf23f280 ddd78f00 dddabf44 00000001 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.960849] be60: bf23f280 ddd78f00 dddabf3c dddabe78 c00920b8 c00b171c bf23f28c 00007fff Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.969098] be80: bf23f280 c008f530 00000000 dddabf44 c07d970c c07d96e4 c07d973c c07d96d8 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.977345] bea0: c064edc0 bf23f28c bf23f418 e0e362d0 bf23f280 dddabf44 bf23f280 bf23f2c8 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.985590] bec0: e0e33000 00003320 00007ec2 00000000 0000000f 00000000 00000000 00000000 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 858.993836] bee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.002081] bf00: 00000000 00000000 00000000 00000000 00000020 00000000 00000003 0002923c Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.010329] bf20: 0000017b c000fb44 dddaa000 00000000 dddabfa4 dddabf40 c0092550 c00903c8 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.018576] bf40: 00000002 e0e33000 00003320 e0e35fb0 e0e34d4b e0e355dc 00001460 000018d0 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.026822] bf60: 00000000 00000000 00000000 00000e30 00000014 00000015 0000000c 00000009 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.035068] bf80: 00000008 00000000 00000000 00000000 0003a710 00000000 00000000 dddabfa8 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.043315] bfa0: c000f980 c00924d4 00000000 0003a710 00000003 0002923c 00000000 0003b320 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.051563] bfc0: 00000000 0003a710 00000000 0000017b 0003b330 00000000 00000000 0003b268 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.059809] bfe0: bec77900 bec778f0 0001f540 b6f47df2 80080030 00000003 00000000 00000000 Broadcast message from systemd-journald@am335x-evm (Wed 2017-01-18 10:04:54 UTC): kernel[475]: [ 859.190271] Code: e34b1f1d e3a020db e3a00001 ebff92a8 (e7f001f2) Segmentation fault root@am335x-evm:~# [ 1459.731786] tilcdc 4830e000.lcdc: timeout waiting for framedone
I built sgx modules against my kernel and successfully installed them.
pvrsrvctl --no-module --start prints the following
pvrsrvctl --no-module --start PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ] PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [0, ] PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [0, ] pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_INIT_FAILURE) root@am335x-evm:~# modprobe bc_example
lsmod prints the following:
root@am335x-evm:~# lsmod Module Size Used by bc_example 7207 1 usbhid 20825 0 pvrsrvkm 498849 1 bc_example xfrm_user 22433 2 xfrm4_tunnel 2040 0 ipcomp 2257 0 xfrm_ipcomp 4247 1 ipcomp esp4 6466 0 ah4 5525 0 af_key 26214 0 xfrm_algo 6989 5 ah4,esp4,af_key,xfrm_user,xfrm_ipcomp usb_f_mass_storage 36890 0 usb_f_rndis 15546 0 u_ether 13385 1 usb_f_rndis libcomposite 44212 2 usb_f_rndis,usb_f_mass_storage configfs 26725 4 usb_f_rndis,libcomposite,usb_f_mass_storage musb_dsps 8235 0 musb_hdrc 71192 1 musb_dsps udc_core 11184 2 musb_hdrc,libcomposite usbcore 195019 2 musb_hdrc,usbhid ti_am335x_adc 5719 0 usb_common 4185 5 musb_dsps,musb_hdrc,udc_core,libcomposite,usbcore kfifo_buf 3163 1 ti_am335x_adc omap_aes 12424 0 omap_sham 20361 0 omap_rng 4695 0 rng_core 7621 1 omap_rng c_can_platform 6590 0 c_can 9578 1 c_can_platform can_dev 12187 1 c_can ti_am335x_tsc 5751 0 musb_am335x 1426 0 ti_am335x_tscadc 6162 2 ti_am335x_adc,ti_am335x_tsc rtc_omap 7373 0 omap_wdt 4634 0 sch_fq_codel 8225 1
I have to notice, that after segfault bc_example was loaded into OS, but it was not loaded by default.
Panel in dts is declared in the following way:
panel { status = "okay"; compatible = "ti,tilcdc,panel"; pinctrl-names = "default","sleep"; pinctrl-0 = <&lcdc_pins_default>; pinctrl-1 = <&lcdc_pins_sleep>; backlight = <&backlight>; panel-info { ac-bias = <255>; ac-bias-intrpt = <0>; dma-burst-sz = <16>; bpp = <32>; fdd = <0x80>; sync-edge = <0>; sync-ctrl = <1>; raster-order = <0>; fifo-th = <0>; }; display-timings { native-mode = <&timing0>; timing0: 800x600 { clock-frequency = <38362000>; hactive = <800>; vactive = <600>; hfront-porch = <28>; hback-porch = <84>; hsync-len = <112>; vback-porch = <12>; vfront-porch = <13>; vsync-len = <10>; }; }; }; sgx@0x56000000 { compatible = "ti,sgx"; ti,hwmods = "gfx"; reg = <0x56000000 0x1000000>; interrupts = <37>; resets = <&prcm 0>; };
Please, help me to determine at least a source of troubles