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.

AM335x SGX Display Troubles

Other Parts Discussed in Thread: AM3352, AM3359

Hello,

First off I am using the 3.2 kernel from SDK 6.00.00.00 as well as the toolchain from this version and this is a custom board.

Everything is working pretty smoothly so far and i can see the Penguin on the display when i boot so i know the display stuff is working.  Where I am having issues is with the Graphics SDK stuff.  I am using the Graphics SDK version 4.10.00.01 and i installed only version es8.x and the SDK.  I then built it with the following:

1. Modify Rules.mk to point correctly to the SDK Path, the linux toolchain directory, and the linux kernel directory.

2. Make the SDK:  make BUILD=release OMAPES=8.x all

3. Install it:  make BUILD=release OMAPES=8.x install

The install was set to the root file system for my target and there were no errors on the build.  Then on the target i started it up and ran /etc/init.d/335x-demo.  Everything installs fine but once pvrsrvctl is called it crashes out.

So basically it fails when running rc.pvr.  I broke this script out and ran it in pieces to find the issue:

modprobe pvrsrvkm -> runs fine and loads the module; however, the module is tainted(G)

rm, mknod, chmod -> all run fine to remove and recreate the pvrsrvkm device

pvrsrvctl --start --no-module  -> This is where it bombs out on me.

Any idea what the problem could be?  I have found other issues searching online but most occur after everything is loaded and running.  I am bombing out before i can even load in omaplfb.  I will probably try some of the other things i see even though the issues are different, but figured I'd post here first to see if anyone has any ideas.

Here is the output from gfx_script.sh AFTER loading pvrsrvkm but BEFORE running pvrsrvctl:

WSEGL settings
[default]
WindowSystem=libpvrPVR2D_FRONTWSEGL.so
#WindowSystem=libpvrPVR2D_FLIPWSEGL.so

------
ARM CPU information
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 718.02
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2

Hardware : am335xevm
Revision : 0000
Serial : 0000000000000000
------
SGX driver information
Version SGX_DDK_Linux_CustomerTI sgxddk 1.10@2359475 (release) /home/cookj/Graphics_SDK_4_10_00_01/GFX_Linux_KM
System Version String: None
------
Framebuffer settings
------
Rotation settings
0
------
Kernel Module information
Tainted: G
pvrsrvkm 170646 0 - Live 0xbf000000 (O)
------
Boot settings
console=ttyO0,115200n8 panic=5 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait ip=off
------
Linux Kernel version
Linux am335x-evm 3.2.0 #124 Thu Apr 3 09:38:53 EDT 2014 armv7l GNU/Linux

And here is the error I get when I run pvrsrvctl:

~ # pvrsrvctl --start --no-module
[ 415.054473] Unhandled fault: external abort on non-linefetch (0x1028) at 0xd2000ca8
[ 415.062500] Internal error: : 1028 [#1]
[ 415.066497] Modules linked in: pvrsrvkm(O)
[ 415.070800] CPU: 0 Tainted: G O (3.2.0 #124)
[ 415.076629] PC is at PollForValueKM+0x54/0xcc [pvrsrvkm]
[ 415.082214] LR is at PollForValueKM+0x40/0xcc [pvrsrvkm]
[ 415.087768] pc : [<bf007334>] lr : [<bf007320>] psr: 80000013
[ 415.087768] sp : cf033bf0 ip : cf033bf0 fp : cf033c24
[ 415.099731] r10: 00000000 r9 : 000f4240 r8 : d2000ca8
[ 415.105194] r7 : 00000000 r6 : 00000000 r5 : 00000001 r4 : 06db8610
[ 415.111999] r3 : 00000001 r2 : f92479f0 r1 : 000003e8 r0 : 00000000
[ 415.118804] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 415.126251] Control: 10c5387d Table: 8deb4019 DAC: 00000015
[ 415.132263] Process pvrsrvctl (pid: 1232, stack limit = 0xcf0322f0)
[ 415.138793] Stack: (0xcf033bf0 to 0xcf034000)
[ 415.143341] 3be0: 06db8611 000000ff cf033c14 cde8f000
[ 415.151885] 3c00: 00000001 d0957120 00000000 00000006 cf032000 bef18a34 cf033c44 cf033c28
[ 415.160430] 3c20: bf015b14 bf0072ec 00000032 00000000 bf015aac cde8f000 cf033c64 cf033c48
[ 415.168945] 3c40: bf015bd0 bf015abc bf01ee5c cde8f000 00000000 d0957120 cf033c8c cf033c68
[ 415.177490] 3c60: bf0126d8 bf015b50 cf0285c0 bf02106c 00000000 cde8f000 cde6e3c0 cf033da0
[ 415.186035] 3c80: cf033cdc cf033c90 bf015f9c bf012680 c00f33b4 c01c9a7c cd146840 c00f35dc
[ 415.194580] 3ca0: cf033d00 000001d0 ff0a0004 cd146840 ce3ed880 c05f3dc4 80000013 00000025
[ 415.203125] 3cc0: cf033cec ce3edc80 00000000 00000000 cf033cfc cf033ce0 bf001ae0 bf015f50
[ 415.211639] 3ce0: ce3edc80 cf033d28 bf001a64 00000000 cf033d20 cf033d00 bf00a34c bf001a70
[ 415.220184] 3d00: bf01ae58 cf033d28 00000000 00000000 bf02102c cf033d54 cf033d30 bf001d60
[ 415.228729] 3d20: bf00a320 bf001a64 00000000 00000000 00000000 cde6e3c0 cf033da0 00000000
[ 415.237274] 3d40: ffffffff cde6e3c0 cf033d8c cf033d58 bf01347c bf001d14 00000000 00000000
[ 415.245819] 3d60: 00000000 00000000 00000000 d0957180 cde01f40 cde6e3c0 00000000 d0940000
[ 415.254364] 3d80: cf033dec cf033d90 bf0119cc bf013418 00000000 00000000 00000000 bf02102c
[ 415.262878] 3da0: ce3edc80 cf033de8 bf001a64 0f003180 cf033de0 cf033dc0 bf00a34c bf001a70
[ 415.271423] 3dc0: bf01ae58 cde8f000 00000000 d0940000 cde01f40 d0940000 cf032000 bef18a34
[ 415.279968] 3de0: cf033e0c cf033df0 bf011ad0 bf011958 bf007170 00000000 d0940000 d093f000
[ 415.288513] 3e00: cf033e1c cf033e10 bf007164 bf011a50 cf033e2c cf033e20 bf007180 bf007154
[ 415.297058] 3e20: cf033e44 cf033e30 bf00a0fc bf00717c bf0210b4 d093f000 cf033e5c cf033e48
[ 415.305572] 3e40: bf007138 bf00a0e0 bf01ef9c 00000000 cf033e7c cf033e60 bf0180c0 bf0070fc
[ 415.314117] 3e60: cf015f00 cf033eb4 cf015f00 00000045 cf033ea4 cf033e80 bf0192c0 bf01807c
[ 415.322662] 3e80: 00000000 000004d0 c01c6745 cf0448c0 cf0448c0 cde0d4f0 cf033eec cf033ea8
[ 415.331207] 3ea0: bf011278 bf0191d0 cf033ec4 cf015f00 c005aa60 00000045 0000001c bef18a68
[ 415.339752] 3ec0: 00000008 bef18a60 00000008 00000001 c0095ed8 cea0b918 bef18a34 c01c6745
[ 415.348266] 3ee0: cf033f74 cf033ef0 c00b48bc bf01118c cf033fac cf033f00 c0008454 c001a654
[ 415.356811] 3f00: bf00d86c cdeac440 00000000 cde17844 c0639530 cdeac440 00000000 cde17844
[ 415.365356] 3f20: cf033f44 cf033f30 c0094818 c00a2608 cdeac440 cde17840 cf033f84 cf033f48
[ 415.373901] 3f40: c00957a4 60000013 4063b000 00000000 bef18a34 c01c6745 cf0448c0 00000003
[ 415.382446] 3f60: cf032000 00000000 cf033fa4 cf033f78 c00b4da8 c00b4840 cf033fa4 00000000
[ 415.390991] 3f80: c0096b9c 00011008 bef18a80 00000000 00000036 c00148e8 00000000 cf033fa8
[ 415.399505] 3fa0: c0014740 c00b4d40 00011008 bef18a80 00000003 c01c6745 bef18a34 00000001
[ 415.408050] 3fc0: 00011008 bef18a80 00000000 00000036 00000014 00000000 00000014 00000000
[ 415.416595] 3fe0: 00000001 bef18a30 40060b78 402b81cc 20000010 00000003 ffffff3f ffdef79f
[ 415.425109] Backtrace:
[ 415.427764] [<bf0072e0>] (PollForValueKM+0x0/0xcc [pvrsrvkm]) from [<bf015b14>] (SGXResetInvalDC.isra.4+0x64/0x70 [pvrsrvkm])
[ 415.439666] [<bf015ab0>] (SGXResetInvalDC.isra.4+0x0/0x70 [pvrsrvkm]) from [<bf015bd0>] (SGXReset+0x8c/0x1ac [pvrsrvkm])
[ 415.451019] r4:cde8f000
[ 415.453765] [<bf015b44>] (SGXReset+0x0/0x1ac [pvrsrvkm]) from [<bf0126d8>] (SGXInitialise+0x64/0x144 [pvrsrvkm])
[ 415.464385] r6:d0957120 r5:00000000 r4:cde8f000 r3:bf01ee5c
[ 415.470428] [<bf012674>] (SGXInitialise+0x0/0x144 [pvrsrvkm]) from [<bf015f9c>] (SGXPostPowerState+0x58/0xb0 [pvrsrvkm])
[ 415.481750] r7:cf033da0 r6:cde6e3c0 r5:cde8f000 r4:00000000
[ 415.487762] [<bf015f44>] (SGXPostPowerState+0x0/0xb0 [pvrsrvkm]) from [<bf001ae0>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x7c/0x90 [pvrsrvkm])
[ 415.501098] r6:00000000 r5:00000000 r4:ce3edc80
[ 415.505981] [<bf001a64>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x0/0x90 [pvrsrvkm]) from [<bf00a34c>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x3c/0x60 [pvrsrvkm])
[ 415.521514] r6:00000000 r5:bf001a64 r4:cf033d28 r3:ce3edc80
[ 415.527496] [<bf00a310>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x0/0x60 [pvrsrvkm]) from [<bf001d60>] (PVRSRVSetDevicePowerStateKM+0x58/0x74 [pvrsrvkm])
[ 415.542175] r3:00000000 r2:00000000 r1:bf001a64
[ 415.546997] r6:bf02102c r5:00000000 r4:00000000
[ 415.551910] [<bf001d08>] (PVRSRVSetDevicePowerStateKM+0x0/0x74 [pvrsrvkm]) from [<bf01347c>] (SGXScheduleCCBCommandKM+0x70/0xc4 [pvrsrvkm])
[ 415.564971] r6:cde6e3c0 r5:ffffffff r4:00000000
[ 415.569915] [<bf01340c>] (SGXScheduleCCBCommandKM+0x0/0xc4 [pvrsrvkm]) from [<bf0119cc>] (SGXGetMiscInfoUkernel+0x80/0xf8 [pvrsrvkm])
[ 415.582427] r8:d0940000 r7:00000000 r6:cde6e3c0 r5:cde01f40 r4:d0957180
[ 415.589538] [<bf01194c>] (SGXGetMiscInfoUkernel+0x0/0xf8 [pvrsrvkm]) from [<bf011ad0>] (SGXDevInitCompatCheck+0x8c/0x2b4 [pvrsrvkm])
[ 415.602050] [<bf011a44>] (SGXDevInitCompatCheck+0x0/0x2b4 [pvrsrvkm]) from [<bf007164>] (PVRSRVDevInitCompatCheck+0x1c/0x28 [pvrsrvkm])
[ 415.614746] r7:d093f000 r6:d0940000 r5:00000000 r4:bf007170
[ 415.620758] [<bf007148>] (PVRSRVDevInitCompatCheck+0x0/0x28 [pvrsrvkm]) from [<bf007180>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x10/0x14 [pvrsrvkm])
[ 415.634979] [<bf007170>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x0/0x14 [pvrsrvkm]) from [<bf00a0fc>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x28/0x48 [pvrsrvkm])
[ 415.650665] [<bf00a0d4>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x0/0x48 [pvrsrvkm]) from [<bf007138>] (PVRSRVFinaliseSystem+0x48/0x58 [pvrsrvkm])
[ 415.664611] r5:d093f000 r4:bf0210b4
[ 415.668457] [<bf0070f0>] (PVRSRVFinaliseSystem+0x0/0x58 [pvrsrvkm]) from [<bf0180c0>] (PVRSRVInitSrvDisconnectBW+0x50/0x80 [pvrsrvkm])
[ 415.681060] r4:00000000 r3:bf01ef9c
[ 415.684906] [<bf018070>] (PVRSRVInitSrvDisconnectBW+0x0/0x80 [pvrsrvkm]) from [<bf0192c0>] (BridgedDispatchKM+0xfc/0x154 [pvrsrvkm])
[ 415.697326] r6:00000045 r5:cf015f00 r4:cf033eb4 r3:cf015f00
[ 415.703369] [<bf0191c4>] (BridgedDispatchKM+0x0/0x154 [pvrsrvkm]) from [<bf011278>] (PVRSRV_BridgeDispatchKM+0xf8/0x1d8 [pvrsrvkm])
[ 415.715698] r8:cde0d4f0 r7:cf0448c0 r6:cf0448c0 r5:c01c6745 r4:000004d0
[ 415.722534] r3:00000000
[ 415.725341] [<bf011180>] (PVRSRV_BridgeDispatchKM+0x0/0x1d8 [pvrsrvkm]) from [<c00b48bc>] (do_vfs_ioctl+0x88/0x500)
[ 415.736236] r6:c01c6745 r5:bef18a34 r4:cea0b918
[ 415.741058] [<c00b4834>] (do_vfs_ioctl+0x0/0x500) from [<c00b4da8>] (sys_ioctl+0x74/0x84)
[ 415.749603] [<c00b4d34>] (sys_ioctl+0x0/0x84) from [<c0014740>] (ret_fast_syscall+0x0/0x30)
[ 415.758331] r8:c00148e8 r7:00000036 r6:00000000 r5:bef18a80 r4:00011008
[ 415.765350] Code: e1a07000 e51b3034 ea000012 e1a05003 (e5983000)
[ 415.771881] ---[ end trace cfd457a7b4c085d7 ]---

I haven't made any big changes to the kernel, I obviously had to change my config file to properly init my custom hardware but didn't change the display stuff and the sgx_init function is still called.  Any suggestions or advice would be greatly appreciated!

Thanks,

Jarrod