Hi,
we are using the following components on our AM3354-board:
- TI graphics SDK V5.01.01.02
- Linux Kernel v3.14.49
What's working so far:
Front mode only, release build of pvrsrvkm kernel module only
Not working:
pvrsrvkm with debug flag enabled, fails with "SGX Platform data missing deassert_reset"
The same message appears for relase kernel modules but does not terminate operation.
A change in powervr.ini from
Front mode "WindowSystem=libpvrPVR2D_FRONTWSEGL.so"
to
Flip mode "WindowSystem=libpvrPVR2D_FLIPWSEGL.so"
leads to the following crash:
/ # modprobe pvrsrvkm
[ 16.980706] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa04a054
[ 16.988747] Internal error: : 1028 [#1] ARM
[ 16.993133] Modules linked in: pvrsrvkm(O+)
[ 16.997539] CPU: 0 PID: 929 Comm: modprobe Tainted: G O 3.14.49 #1
[ 17.004934] task: cf16a400 ti: cf446000 task.ti: cf446000
[ 17.010808] PC is at EnableSystemClocks+0xbc/0x1e8 [pvrsrvkm]
[ 17.016909] LR is at EnableSystemClocks+0xb4/0x1e8 [pvrsrvkm]
[ 17.022939] pc : [<bf02f5b0>] lr : [<bf02f5a8>] psr: a00d0013
[ 17.022939] sp : cf447d08 ip : bf05dbe5 fp : 00000001
[ 17.034977] r10: bf05bdbc r9 : 00000000 r8 : 00000002
[ 17.040453] r7 : bf05eab4 r6 : bf05eab4 r5 : fa04a054 r4 : bf05eb1c
[ 17.047298] r3 : 00000000 r2 : cf682458 r1 : 00000000 r0 : fa04a054
[ 17.054144] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 17.061627] Control: 10c5387d Table: 8f3a4019 DAC: 00000015
[ 17.067652] Process modprobe (pid: 929, stack limit = 0xcf446238)
[ 17.074044] Stack: (0xcf447d08 to 0xcf448000)
[ 17.078616] 7d00: 00000000 00000000 00000000 cf682458 bf05eab4 00000000
...
[ 17.276042] 7fe0: be856b58 be856b48 00025910 b6efac80 600d0010 b6dac008 49101ac1 030848e8
[ 17.284778] [<bf02f5b0>] (EnableSystemClocks [pvrsrvkm]) from [<bf02ff2c>] (SysInitialise+0x3dc/0x52c [pvrsrvkm])
[ 17.295677] [<bf02ff2c>] (SysInitialise [pvrsrvkm]) from [<bf01c4d8>] (PVRSRVDriverProbe+0x88/0xb0 [pvrsrvkm])
…
[ 17.395441] [<c00700ac>] (SyS_init_module) from [<c000ee80>] (ret_fast_syscall+0x0/0x38)
[ 17.403942] Code: e3a01004 ebffbd0a e2505000 0a000023 (e5953000)
[ 17.410341] ---[ end trace 870e93ad050fcab5 ]---
Segmentation fault
Adding patches to increase framebuffer size to hold swap chain buffers and additions to DRM layer from these sources solves the above failure and gives 3 buffers (for Flip mode) but leads to failure when starting test programs
gitorious.org/.../d3ab5e87304b45dc594351ed091a6ae451f40de7
git.yoctoproject.org/.../linux-ti-staging-3.14 “0001-HACK-drm-fb_helper-enable-panning-support.patch”.
[ 47.475800] omaplfb: Device 0: Maximum number of swap chain buffers: 3
[ 47.475819] omaplfb: Device 0: PVR Device ID: 1
/ # /usr/bin/OGLES2MagicLantern
Can't open remote control input device (/dev/ttyS1)
PVRShell: EGL 1.4 initialized
[ 62.848167] Unable to handle kernel NULL pointer dereference at virtual address 00000001
In this case we are seeing a single frame appear on screen before the above crash so we would guess that buffer allocation in the driver is incorrectly done.
We have cross-checked the tilcdc driver code with the TI Git tree 3.14.y and cannot find any difference aside of the above drm-fb patch .
As debug mode is not working how can we proceed in this situation with RN_5_01_01_02?
Any help would be much appreciated.