This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/PROCESSOR-SDK-AM335X: SGX+DRM+Linux 4.4.36 kernel

Part Number: PROCESSOR-SDK-AM335X

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