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.

Get kernel error when initiating SGX driver on AM3517.

Other Parts Discussed in Thread: AM3517, SYSCONFIG, OMAP3530, UKERNEL

Hi,

I have a problem with the SGX Graphics Driver on AM3517.
I am using kernel version 2.6.37 from the AM35x-OMAP35x-PSP-04.02.00.07 source.

I can load the pvrsrvkm kernel module but when pvrsrvinit is executed in the init script I get the following kernel error see below.


The first warning "possible recursive locking detected" is according to the SGXDbg doc expected and can be ignored. But then I get the fatal kernel error "Unable to handle kernel paging request at virtual address". It seems to happen in the SGXInitialise when executing OSWriteHWReg(psDevInfo->pvRegsBaseKM, 0xFF08, 0x80000000).

Any ideas on the error?

[   21.398315] omap_device: omap_i2c.1: new worst case deactivate latency 0: 183105
[   21.512298] PVR: PVRCore_Init
[   21.527221] PVR: PVRSRVDriverProbe(pDevice=bf0563c8)
[   21.533660] PVR: EnableSystemClocks: Enabling System Clocks
[   21.539825] PVR: GPTIMER11 clock is 13MHz
[   21.544097] PVR: Setting GPTIMER11 mode to posted (currently is non-posted)
[   21.551483] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088040
[   21.558166] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088024
[   21.566864] PVR: PVRCore_Init: major device 250
[   22.137451]
[   22.137481] =============================================
[   22.144653] [ INFO: possible recursive locking detected ]
[   22.150268] 2.6.37 #8
[   22.152618] ---------------------------------------------
[   22.158264] pvrsrvinit/593 is trying to acquire lock:
[   22.163513]  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
[   22.172363]
[   22.172393] but task is already holding lock:
[   22.178436]  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
[   22.187164]
[   22.187164] other info that might help us debug this:
[   22.193969] 1 lock held by pvrsrvinit/593:
[   22.198242]  #0:  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
[   22.207427]
[   22.207427] stack backtrace:
[   22.212005] [<c0047498>] (unwind_backtrace+0x0/0xf0) from [<c009cf70>] (__lock_acquire+0xf10/0x185c)
[   22.221527] [<c009cf70>] (__lock_acquire+0xf10/0x185c) from [<c009d994>] (lock_acquire+0xd8/0xfc)
[   22.230804] [<c009d994>] (lock_acquire+0xd8/0xfc) from [<c036ac98>] (mutex_lock_nested+0x60/0x2ec)
[   22.240234] [<c036ac98>] (mutex_lock_nested+0x60/0x2ec) from [<bf025688>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm])
[   22.250946] [<bf025688>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm]) from [<bf022e14>] (_KFreeWrapper+0x5c/0x294 [pvrsrvkm])
[   22.262268] [<bf022e14>] (_KFreeWrapper+0x5c/0x294 [pvrsrvkm]) from [<bf022da8>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm])
[   22.273681] [<bf022da8>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm]) from [<bf029ad0>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm])
[   22.285186] [<bf029ad0>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm]) from [<bf009aa4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm])
[   22.297851] [<bf009aa4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm]) from [<bf015f74>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm])
[   22.310974] [<bf015f74>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm]) from [<bf0279e0>] (PVRSRVOpen+0x3c/0xe0 [pvrsrvkm])
[   22.322418] [<bf0279e0>] (PVRSRVOpen+0x3c/0xe0 [pvrsrvkm]) from [<c00f7ca8>] (chrdev_open+0x17c/0x1a4)
[   22.332122] [<c00f7ca8>] (chrdev_open+0x17c/0x1a4) from [<c00f3280>] (__dentry_open+0x188/0x2a8)
[   22.341278] [<c00f3280>] (__dentry_open+0x188/0x2a8) from [<c00f3468>] (nameidata_to_filp+0x48/0x54)
[   22.350830] [<c00f3468>] (nameidata_to_filp+0x48/0x54) from [<c00ff028>] (do_last+0x468/0x5b4)
[   22.359802] [<c00ff028>] (do_last+0x468/0x5b4) from [<c0100b48>] (do_filp_open+0x180/0x508)
[   22.368499] [<c0100b48>] (do_filp_open+0x180/0x508) from [<c00f3040>] (do_sys_open+0x58/0xe8)
[   22.377410] [<c00f3040>] (do_sys_open+0x58/0xe8) from [<c0041700>] (ret_fast_syscall+0x0/0x3c)
[   22.424682] PVR: Installing MISR with cookie bf05803c
[   22.430938] PVR: Installing device LISR SGX ISR on IRQ 21 with cookie ce814900
[   22.438720] PVR: OSUnMapPhysToLin: unmapping 16384 bytes from d0a58000
[   22.445648] PVR_K:(Warning): SysFinalise: Version string: SGX revision = 1.2.1 [575, opt/R5_CDU/buildroot/output/build/ti-graphics-sdk-4_05_00_02/GFX_Linux_KM/services4/system/omap3/sysconfig.c]
[   22.463989] Unable to handle kernel paging request at virtual address d0a5ff08
[   22.471588] pgd = ce92c000
[   22.474395] [d0a5ff08] *pgd=8eb1b011, *pte=00000000, *ppte=00000000
[   22.480987] Internal error: Oops: 807 [#1]
[   22.485260] last sysfs file: /sys/devices/virtual/pvr/pvrsrvkm/dev
[   22.491699] Modules linked in: pvrsrvkm r5fpga_firmware
[   22.497161] CPU: 0    Not tainted  (2.6.37 #8)
[   22.502044] PC is at OSWriteHWReg+0x24/0xa0 [pvrsrvkm]
[   22.507476] LR is at SGXInitialise+0x160/0x268 [pvrsrvkm]
[   22.513122] pc : [<bf02b6d0>]    lr : [<bf02edac>]    psr: 60000013
[   22.513122] sp : ceb87be8  ip : bf064c78  fp : bee9db94
[   22.525054] r10: 00000000  r9 : ceb86000  r8 : 00000000
[   22.530517] r7 : 00000003  r6 : c01c6742  r5 : bee9db6c  r4 : ce98fd80
[   22.537292] r3 : d0a5ff08  r2 : 80000000  r1 : 0000ff08  r0 : d0a50000
[   22.544097] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   22.551544] Control: 10c5387d  Table: 8e92c019  DAC: 00000015
[   22.557525] Process pvrsrvinit (pid: 593, stack limit = 0xceb862f0)
[   22.564056] Stack: (0xceb87be8 to 0xceb88000)
[   22.568572] 7be0:                   00000021 80000000 0000ff08 d0a50000 c01c6742 ce814900
[   22.577117] 7c00: 00000000 ce92a000 bf058160 00000000 ceb9a640 d08ab140 00000000 c005913c
[   22.585632] 7c20: ce98fd80 bf0377f4 0000006e 00000002 00000000 00000002 00000000 ce814900
[   22.594146] 7c40: 0698a3aa 00000000 3b9aca00 0698a3aa bf0445a8 bf0445c0 bf0580e8 00000002
[   22.602661] 7c60: 00000000 ce814900 ce92a000 d08ab140 c067da50 bf00a898 ceb87ccc cebd27c0
[   22.611206] 7c80: 22222222 00000000 00000000 00000000 00000000 00000000 00000003 bf01c13c
[   22.619720] 7ca0: ceb86000 cebd27c0 bee9db94 ceb87cc0 00000000 00000000 bf00a94c bf00a788
[   22.628234] 7cc0: 00000000 00000000 00000000 00000000 c0bf52f8 00000000 00000000 00000000
[   22.636749] 7ce0: bf05803c bf05803c 00000000 ceb87ce4 00000000 bf00aa18 bf058128 00000000
[   22.645263] 7d00: 00000001 ffffffff 00000000 00000000 cea8e5c8 bf05803c 00000000 ceb87d14
[   22.653808] 7d20: bf058128 bf031fd0 ceb87d50 bf02a01c ffffffff ceb87d60 00000005 ce814900
[   22.662322] 7d40: d08ab1a0 ce92a000 bf04f468 bf031290 00000000 00000000 ce814900 ce92a000
[   22.670837] 7d60: c01c6742 bf058114 ceb87dbc 0f003180 22222222 00000000 bf04f468 00000000
[   22.679351] 7d80: bf0580e8 d08ab180 d08ab184 d08ab1a0 ceb9a3c0 60000013 bf058114 c036a3e4
[   22.687896] 7da0: ce98fd80 bee9db6c bf030938 bf03097c 00000000 bf0580d0 ffffffff bf0425dc
[   22.696411] 7dc0: ffffffff ce814900 00010100 00010101 bf05803c ce92a000 00368019 ffffffff
[   22.704925] 7de0: ceb9a3c0 d08ab180 c01c6742 00000003 00000000 ffffffff 00000001 00000000
[   22.713439] 7e00: 80000013 bf014ac8 00000000 ce814900 bf05803c bf014920 c01c6742 bf042ab8
[   22.721954] 7e20: bf0562cc ce814900 20000013 00000000 bf043cb8 bf01be08 bf01490c ce814900
[   22.730499] 7e40: 00000000 00000000 ce98fd80 bf014a70 ceac2000 ce809940 bf056f8c 00000001
[   22.739013] 7e60: bee9dbb4 bf05803c 00000000 ceb87e64 bee9dbb4 bf03c888 ce809940 ceac3000
[   22.747528] 7e80: ceac2000 00000042 0000001c bf03ed64 00000008 00000001 ceb87eec ce809940
[   22.756042] 7ea0: bf05803c ceac2000 ceac3000 bf03c7fc 00000042 fffffff2 ceb87ea0 00000000
[   22.764587] 7ec0: ceb98f60 bf02df1c bf025a94 bf025ab8 bf04d47c 00000000 00000000 bee9db6c
[   22.773101] 7ee0: c01c6742 ce98fd80 ce809940 00000042 0000001c bee9dbb4 00000008 bee9dbac
[   22.781616] 7f00: 00000008 00000001 c01c6742 bee9db6c ceb87eec 00000251 fffffff2 00000000
[   22.790130] 7f20: 60000013 c01026e0 ceb86000 ce82c4f8 bee9d7f4 c036bf78 00000002 00000000
[   22.798675] 7f40: c01bfdf0 40bb4000 40bb5000 ce82c4f4 00000000 ce82c4c0 ce82c4f4 c01bfdf0
[   22.807189] 7f60: 60000013 ce82c4f8 00000003 ce98fd80 bee9db6c c01c6742 00000003 00000000
[   22.815704] 7f80: ceb86000 c0102794 00000003 00000000 00000000 00000000 00000000 00000036
[   22.824218] 7fa0: c00418c8 c0041700 00000000 00000000 00000003 c01c6742 bee9db6c bee9db6c
[   22.832733] 7fc0: 00000000 00000000 00000000 00000036 00000000 00000000 400d5000 bee9db94
[   22.841278] 7fe0: 00000000 bee9db50 4004a780 401b4d3c 60000010 00000003 00000000 00000000
[   22.850006] [<bf02b6d0>] (OSWriteHWReg+0x24/0xa0 [pvrsrvkm]) from [<bf02edac>] (SGXInitialise+0x160/0x268 [pvrsrvkm])
[   22.861236] [<bf02edac>] (SGXInitialise+0x160/0x268 [pvrsrvkm]) from [<bf0377f4>] (SGXPostPowerState+0xb4/0x1dc [pvrsrvkm])
[   22.873016] [<bf0377f4>] (SGXPostPowerState+0xb4/0x1dc [pvrsrvkm]) from [<bf00a898>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x110/0x1dc [pvrsrvkm])
[   22.886871] [<bf00a898>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x110/0x1dc [pvrsrvkm]) from [<bf01c13c>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x40/0x80 [pvrsrvkm])
[   22.902801] [<bf01c13c>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x40/0x80 [pvrsrvkm]) from [<bf00a94c>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x1c4/0x1dc [pvrsrvkm])
[   22.918731] [<bf00a94c>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x1c4/0x1dc [pvrsrvkm]) from [<bf00aa18>] (PVRSRVSetDevicePowerStateKM+0xb4/0x12c [pvrsrvkm])
[   22.933471] [<bf00aa18>] (PVRSRVSetDevicePowerStateKM+0xb4/0x12c [pvrsrvkm]) from [<bf031fd0>] (SGXScheduleCCBCommandKM+0x40/0x12c [pvrsrvkm])
[   22.946960] [<bf031fd0>] (SGXScheduleCCBCommandKM+0x40/0x12c [pvrsrvkm]) from [<bf031290>] (SGXDevInitCompatCheck+0xa78/0xbe4 [pvrsrvkm])
[   22.960021] [<bf031290>] (SGXDevInitCompatCheck+0xa78/0xbe4 [pvrsrvkm]) from [<bf03097c>] (SGXDevInitCompatCheck+0x164/0xbe4 [pvrsrvkm])
[   22.972961] [<bf03097c>] (SGXDevInitCompatCheck+0x164/0xbe4 [pvrsrvkm]) from [<bf014ac8>] (PVRSRVDevInitCompatCheck+0x2c/0x44 [pvrsrvkm])
[   22.985992] [<bf014ac8>] (PVRSRVDevInitCompatCheck+0x2c/0x44 [pvrsrvkm]) from [<bf014920>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x14/0x60 [pvrsrvkm])
[   23.000396] [<bf014920>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x14/0x60 [pvrsrvkm]) from [<bf01be08>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x3c/0x74 [pvrsrvkm])
[   23.016235] [<bf01be08>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x3c/0x74 [pvrsrvkm]) from [<bf014a70>] (PVRSRVFinaliseSystem+0x104/0x130 [pvrsrvkm])
[   23.030639] [<bf014a70>] (PVRSRVFinaliseSystem+0x104/0x130 [pvrsrvkm]) from [<bf03c888>] (PVRSRVInitSrvDisconnectBW+0x8c/0xe0 [pvrsrvkm])
[   23.043701] [<bf03c888>] (PVRSRVInitSrvDisconnectBW+0x8c/0xe0 [pvrsrvkm]) from [<bf03ed64>] (BridgedDispatchKM+0x35c/0x408 [pvrsrvkm])
[   23.056457] [<bf03ed64>] (BridgedDispatchKM+0x35c/0x408 [pvrsrvkm]) from [<bf02df1c>] (PVRSRV_BridgeDispatchKM+0x1f8/0x22c [pvrsrvkm])
[   23.069183] [<bf02df1c>] (PVRSRV_BridgeDispatchKM+0x1f8/0x22c [pvrsrvkm]) from [<c01026e0>] (do_vfs_ioctl+0x518/0x580)
[   23.080322] [<c01026e0>] (do_vfs_ioctl+0x518/0x580) from [<c0102794>] (sys_ioctl+0x4c/0x6c)
[   23.089050] [<c0102794>] (sys_ioctl+0x4c/0x6c) from [<c0041700>] (ret_fast_syscall+0x0/0x3c)
[   23.097839] Code: e59d200c e59d3008 e0823003 e59d2004 (e5832000)
[   23.104309] ---[ end trace 0ac83298e688e214 ]---

 

 

  • Hi,

    This is the output from the script. But not that this is before executing the rc.pvr as this will start pvrsrvinit which makes the kernel crash.

    /tmp # ./test.sh
    WSEGL settings
    [default]
    WindowSystem=libpvrPVR2D_FRONTWSEGL.so
    #WindowSystem=libpvrPVR2D_FLIPWSEGL.so

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

    Hardware        : AM3517 R5CDUP2
    Revision        : 0020
    Serial          : 0000000000000000
    ------
    SGX driver information
    cat: can't open '/proc/pvr/version': No such file or directory
    ------
    Framebuffer settings
    ./test.sh: line 12: fbset: not found
    ------
    Rotation settings
    0
    ------
    Kernel Module information
    Module                  Size  Used by    Tainted: P
    r5fpga_firmware         2152  0
    ------
    Boot settings
    mem=256M root=/dev/mtdblock3 console=ttyO2,115200n8 r5cdugpio.hw_rev=0 r5cdugpio.boot_pin=0 vram=10M omapfb.vram=0:4M,1:3M,2:3M
    ------
    Linux Kernel version
    Linux buildroot 2.6.37 #8 Fri Dec 9 15:10:52 CET 2011 armv7l GNU/Linux

  • This error happens if the SGX module is not enabled and a write happens. From the logs, the omap-demo script has not been run. The SGX module is initialised explicitly at the start of this file (<GFX_SDK>/targetfs/omap-demo). This should be followed.

     

  • Hi,

    I can't use the omap-demo script on my board as I have a read only file system. I thought the omap-demo script only read the SGX module revision and then executed the insall.sh script. The install.sh script copies the binaries from the /opt/gfxlibraries/ to their appropriate place on the target. But as I have a read only file system I have written my own install.sh that fits into my other build scripts. My custom install.sh does the same work as the original but on my host system. So when I start my board I already have all binaries on the correct place. Therefore I only execute the rc.pvr (PowerVR SGX DDK for Embedded Linux - installation script) at startup of the system.

    But it's now when I execute the rc.pvr script I get the kernel error which makes the kernel crash.

    Hope this gave you some insight into my system setup

     

    Okay so the omap-demo starts the SGX module, is it the devmem2 commands in the beginning of the file you are referring to that does this?

    /etc/init.d/devmem2 0x48004B48 w 0x2
    /etc/init.d/devmem2 0x48004B10 w 0x1
    /etc/init.d/devmem2 0x48004B00 w 0x2
    /etc/init.d/devmem2 0x50000014 > /etc/init.d/sgxrevision.txt


    I have now added the devmem2 commands the beginning of the rc.pvr script. This should do the same as if the omap-demo script was executed. But I still get the same error as before below is the log output and you can see the devmem2 commands in the beginning.

     

    Initializing random number generator... read-only file system detected...done
    /dev/mem opened.
    Memory mapped at address 0x403b5000.
    Value at address 0x48004B48 (0x403b5b48): 0x3
    Written 0x2; readback 0x2
    /dev/mem opened.
    Memory mapped at address 0x400fc000.
    Value at address 0x48004B10 (0x400fcb10): 0x0
    Written 0x1; readback 0x1
    /dev/mem opened.
    Memory mapped at address 0x401ae000.
    Value at address 0x48004B00 (0x401aeb00): 0x0
    Written 0x2; readback 0x2
    [   21.710571] omap_device: omap_i2c.1: new worst case deactivate latency 0: 152587
    [   21.873474] PVR: PVRCore_Init
    [   21.894226] PVR: PVRSRVDriverProbe(pDevice=bf0563c8)
    [   21.900604] PVR: EnableSystemClocks: Enabling System Clocks
    [   21.906799] PVR: GPTIMER11 clock is 13MHz
    [   21.911071] PVR: Setting GPTIMER11 mode to posted (currently is non-posted)
    [   21.918457] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088040
    [   21.925109] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088024
    [   21.933868] PVR: PVRCore_Init: major device 250
    [   22.343414] omap_device: omap_i2c.1: new worst case activate latency 0: 213623
    [   22.379119]
    [   22.379119] =============================================
    [   22.386291] [ INFO: possible recursive locking detected ]
    [   22.391937] 2.6.37 #8
    [   22.394287] ---------------------------------------------
    [   22.399902] pvrsrvinit/597 is trying to acquire lock:
    [   22.405181]  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [   22.414031]
    [   22.414031] but task is already holding lock:
    [   22.420104]  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [   22.428833]
    [   22.428833] other info that might help us debug this:
    [   22.435638] 1 lock held by pvrsrvinit/597:
    [   22.439910]  #0:  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [   22.449066]
    [   22.449096] stack backtrace:
    [   22.453674] [<c0047498>] (unwind_backtrace+0x0/0xf0) from [<c009cf70>] (__lock_acquire+0xf10/0x185c)
    [   22.463195] [<c009cf70>] (__lock_acquire+0xf10/0x185c) from [<c009d994>] (lock_acquire+0xd8/0xfc)
    [   22.472473] [<c009d994>] (lock_acquire+0xd8/0xfc) from [<c036ac98>] (mutex_lock_nested+0x60/0x2ec)
    [   22.481903] [<c036ac98>] (mutex_lock_nested+0x60/0x2ec) from [<bf025688>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm])
    [   22.492614] [<bf025688>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm]) from [<bf022e14>] (_KFreeWrapper+0x5c/0x294 [pvrsrvkm])
    [   22.503936] [<bf022e14>] (_KFreeWrapper+0x5c/0x294 [pvrsrvkm]) from [<bf022da8>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm])
    [   22.515350] [<bf022da8>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm]) from [<bf029ad0>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm])
    [   22.526855] [<bf029ad0>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm]) from [<bf009aa4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm])
    [   22.539520] [<bf009aa4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm]) from [<bf015f74>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm])
    [   22.552642] [<bf015f74>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm]) from [<bf0279e0>] (PVRSRVOpen+0x3c/0xe0 [pvrsrvkm])
    [   22.564086] [<bf0279e0>] (PVRSRVOpen+0x3c/0xe0 [pvrsrvkm]) from [<c00f7ca8>] (chrdev_open+0x17c/0x1a4)
    [   22.573791] [<c00f7ca8>] (chrdev_open+0x17c/0x1a4) from [<c00f3280>] (__dentry_open+0x188/0x2a8)
    [   22.582946] [<c00f3280>] (__dentry_open+0x188/0x2a8) from [<c00f3468>] (nameidata_to_filp+0x48/0x54)
    [   22.592468] [<c00f3468>] (nameidata_to_filp+0x48/0x54) from [<c00ff028>] (do_last+0x468/0x5b4)
    [   22.601470] [<c00ff028>] (do_last+0x468/0x5b4) from [<c0100b48>] (do_filp_open+0x180/0x508)
    [   22.610168] [<c0100b48>] (do_filp_open+0x180/0x508) from [<c00f3040>] (do_sys_open+0x58/0xe8)
    [   22.619079] [<c00f3040>] (do_sys_open+0x58/0xe8) from [<c0041700>] (ret_fast_syscall+0x0/0x3c)
    [   22.666168] PVR: Installing MISR with cookie bf05803c
    [   22.672515] PVR: Installing device LISR SGX ISR on IRQ 21 with cookie ce814900
    [   22.680267] PVR: OSUnMapPhysToLin: unmapping 16384 bytes from d0a58000
    [   22.687194] PVR_K:(Warning): SysFinalise: Version string: SGX revision = 1.2.1 [575, opt/R5_CDU/buildroot/output/build/ti-graphics-sdk-4_05_00_02/GFX_Linux_KM/services4/system/omap3/sysconfig.c]
    [   22.705566] Unable to handle kernel paging request at virtual address d0a5ff08
    [   22.713134] pgd = ceb08000
    [   22.715972] [d0a5ff08] *pgd=8eba2011, *pte=00000000, *ppte=00000000
    [   22.722564] Internal error: Oops: 807 [#1]
    [   22.726837] last sysfs file: /sys/devices/virtual/pvr/pvrsrvkm/dev
    [   22.733276] Modules linked in: pvrsrvkm r5fpga_firmware
    [   22.738739] CPU: 0    Not tainted  (2.6.37 #8)
    [   22.743591] PC is at OSWriteHWReg+0x24/0xa0 [pvrsrvkm]
    [   22.749053] LR is at SGXInitialise+0x160/0x268 [pvrsrvkm]
    [   22.754669] pc : [<bf02b6d0>]    lr : [<bf02edac>]    psr: 60000013
    [   22.754669] sp : ceb79be8  ip : bf064c78  fp : bebf5b94
    [   22.766632] r10: 00000000  r9 : ceb78000  r8 : 00000000
    [   22.772064] r7 : 00000003  r6 : c01c6742  r5 : bebf5b6c  r4 : ce981180
    [   22.778869] r3 : d0a5ff08  r2 : 80000000  r1 : 0000ff08  r0 : d0a50000
    [   22.785675] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [   22.793090] Control: 10c5387d  Table: 8eb08019  DAC: 00000015
    [   22.799072] Process pvrsrvinit (pid: 597, stack limit = 0xceb782f0)
    [   22.805603] Stack: (0xceb79be8 to 0xceb7a000)
    [   22.810150] 9be0:                   00000021 80000000 0000ff08 d0a50000 c01c6742 ce814900
    [   22.818664] 9c00: 00000000 ce995000 bf058160 00000000 ceb35600 d08ab140 00000000 c005913c
    [   22.827178] 9c20: ce981180 bf0377f4 0000006e 00000002 00000000 00000002 00000000 ce814900
    [   22.835723] 9c40: 0698a3aa 00000000 3b9aca00 0698a3aa bf0445a8 bf0445c0 bf0580e8 00000002
    [   22.844238] 9c60: 00000000 ce814900 ce995000 d08ab140 c067da50 bf00a898 ceb79ccc ce031780
    [   22.852752] 9c80: 22222222 00000000 00000000 00000000 00000000 00000000 00000003 bf01c13c
    [   22.861267] 9ca0: ceb78000 ce031780 bebf5b94 ceb79cc0 00000000 00000000 bf00a94c bf00a788
    [   22.869781] 9cc0: 00000000 00000000 00000000 00000000 c0bf52f8 00000000 00000000 00000000
    [   22.878326] 9ce0: bf05803c bf05803c 00000000 ceb79ce4 00000000 bf00aa18 bf058128 00000000
    [   22.886840] 9d00: 00000001 ffffffff 00000000 00000000 cea8b548 bf05803c 00000000 ceb79d14
    [   22.895355] 9d20: bf058128 bf031fd0 ceb79d50 bf02a01c ffffffff ceb79d60 00000005 ce814900
    [   22.903869] 9d40: d08ab1a0 ce995000 bf04f468 bf031290 00000000 00000000 ce814900 ce995000
    [   22.912414] 9d60: c01c6742 bf058114 ceb79dbc 0f003180 22222222 00000000 bf04f468 00000000
    [   22.920928] 9d80: bf0580e8 d08ab180 d08ab184 d08ab1a0 ceb35380 60000013 bf058114 c036a3e4
    [   22.929443] 9da0: ce981180 bebf5b6c bf030938 bf03097c 00000000 bf0580d0 ffffffff bf0425dc
    [   22.937957] 9dc0: ffffffff ce814900 00010100 00010101 bf05803c ce995000 00368019 ffffffff
    [   22.946472] 9de0: ceb35380 d08ab180 c01c6742 00000003 00000000 ffffffff 00000001 00000000
    [   22.955017] 9e00: 80000013 bf014ac8 00000000 ce814900 bf05803c bf014920 c01c6742 bf042ab8
    [   22.963531] 9e20: bf0562cc ce814900 20000013 00000000 bf043cb8 bf01be08 bf01490c ce814900
    [   22.972045] 9e40: 00000000 00000000 ce981180 bf014a70 ceb42000 ce8099c0 ce981180 00000001
    [   22.980560] 9e60: bebf5bb4 bf05803c 00000000 ceb79e64 00000000 bf03c888 ce8099c0 ceb43000
    [   22.989105] 9e80: ceb42000 00000042 20000013 bf03ed64 00000008 00000001 ceb79eec ce8099c0
    [   22.997619] 9ea0: bf05803c ceb42000 ceb43000 bf03c7fc 00000042 fffffff2 ceb79ea0 00000000
    [   23.006134] 9ec0: c04c4d54 bf02df1c 00000002 c036e930 00000000 00000000 c036e8bc bebf5b6c
    [   23.014648] 9ee0: c01c6742 ce981180 ce8099c0 00000042 0000001c bebf5bb4 00000008 bebf5bac
    [   23.023193] 9f00: 00000008 00000001 c01c6742 bebf5b6c ceb79eec 00000255 fffffff2 00000000
    [   23.031707] 9f20: ceb78000 c01026e0 00000002 c004176c 00000000 c00ade2c 46ff7c53 00000005
    [   23.040222] 9f40: cea8b548 00000030 cea8b548 00000030 cea8b0c0 c009b830 c063aeec 60000193
    [   23.048736] 9f60: cea8b0c0 c063ae9c 00000003 ce981180 bebf5b6c c01c6742 00000003 00000000
    [   23.057250] 9f80: ceb78000 c0102794 00000003 00000000 00000000 00000000 00000000 00000036
    [   23.065795] 9fa0: c00418c8 c0041700 00000000 00000000 00000003 c01c6742 bebf5b6c bebf5b6c
    [   23.074310] 9fc0: 00000000 00000000 00000000 00000036 00000000 00000000 4002e000 bebf5b94
    [   23.082824] 9fe0: 00000000 bebf5b50 400eb780 401f0d3c 60000010 00000003 00003172 00000000
    [   23.091552] [<bf02b6d0>] (OSWriteHWReg+0x24/0xa0 [pvrsrvkm]) from [<bf02edac>] (SGXInitialise+0x160/0x268 [pvrsrvkm])
    [   23.102813] [<bf02edac>] (SGXInitialise+0x160/0x268 [pvrsrvkm]) from [<bf0377f4>] (SGXPostPowerState+0xb4/0x1dc [pvrsrvkm])
    [   23.114562] [<bf0377f4>] (SGXPostPowerState+0xb4/0x1dc [pvrsrvkm]) from [<bf00a898>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x110/0x1dc [pvrsrvkm])
    [   23.128417] [<bf00a898>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x110/0x1dc [pvrsrvkm]) from [<bf01c13c>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x40/0x80 [pvrsrvkm])
    [   23.144348] [<bf01c13c>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x40/0x80 [pvrsrvkm]) from [<bf00a94c>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x1c4/0x1dc [pvrsrvkm])
    [   23.160278] [<bf00a94c>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x1c4/0x1dc [pvrsrvkm]) from [<bf00aa18>] (PVRSRVSetDevicePowerStateKM+0xb4/0x12c [pvrsrvkm])
    [   23.175018] [<bf00aa18>] (PVRSRVSetDevicePowerStateKM+0xb4/0x12c [pvrsrvkm]) from [<bf031fd0>] (SGXScheduleCCBCommandKM+0x40/0x12c [pvrsrvkm])
    [   23.188537] [<bf031fd0>] (SGXScheduleCCBCommandKM+0x40/0x12c [pvrsrvkm]) from [<bf031290>] (SGXDevInitCompatCheck+0xa78/0xbe4 [pvrsrvkm])
    [   23.201568] [<bf031290>] (SGXDevInitCompatCheck+0xa78/0xbe4 [pvrsrvkm]) from [<bf03097c>] (SGXDevInitCompatCheck+0x164/0xbe4 [pvrsrvkm])
    [   23.214538] [<bf03097c>] (SGXDevInitCompatCheck+0x164/0xbe4 [pvrsrvkm]) from [<bf014ac8>] (PVRSRVDevInitCompatCheck+0x2c/0x44 [pvrsrvkm])
    [   23.227569] [<bf014ac8>] (PVRSRVDevInitCompatCheck+0x2c/0x44 [pvrsrvkm]) from [<bf014920>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x14/0x60 [pvrsrvkm])
    [   23.241973] [<bf014920>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x14/0x60 [pvrsrvkm]) from [<bf01be08>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x3c/0x74 [pvrsrvkm])
    [   23.257812] [<bf01be08>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x3c/0x74 [pvrsrvkm]) from [<bf014a70>] (PVRSRVFinaliseSystem+0x104/0x130 [pvrsrvkm])
    [   23.272216] [<bf014a70>] (PVRSRVFinaliseSystem+0x104/0x130 [pvrsrvkm]) from [<bf03c888>] (PVRSRVInitSrvDisconnectBW+0x8c/0xe0 [pvrsrvkm])
    [   23.285247] [<bf03c888>] (PVRSRVInitSrvDisconnectBW+0x8c/0xe0 [pvrsrvkm]) from [<bf03ed64>] (BridgedDispatchKM+0x35c/0x408 [pvrsrvkm])
    [   23.298034] [<bf03ed64>] (BridgedDispatchKM+0x35c/0x408 [pvrsrvkm]) from [<bf02df1c>] (PVRSRV_BridgeDispatchKM+0x1f8/0x22c [pvrsrvkm])
    [   23.310729] [<bf02df1c>] (PVRSRV_BridgeDispatchKM+0x1f8/0x22c [pvrsrvkm]) from [<c01026e0>] (do_vfs_ioctl+0x518/0x580)
    [   23.321899] [<c01026e0>] (do_vfs_ioctl+0x518/0x580) from [<c0102794>] (sys_ioctl+0x4c/0x6c)
    [   23.330627] [<c0102794>] (sys_ioctl+0x4c/0x6c) from [<c0041700>] (ret_fast_syscall+0x0/0x3c)
    [   23.339416] Code: e59d200c e59d3008 e0823003 e59d2004 (e5832000)
    [   23.345886] ---[ end trace 0ac83298e688e214 ]---

     

     

  • Hi,

    I have done some more investigations in the pvrsrvkm kernel module and managed to get the rc.pvr script to run without a kernel crash.


    Basically what I did was to remove the register write that I suspected was the error in my first post. In the file sgxinit.c we have the function SGXInitialise() which is called when the pvrsrvinit is executed. In the SGXInitialise() there is a register write see below:


    if(!cpu_is_omap3530())
    {
                  OSWriteHWReg(psDevInfo->pvRegsBaseKM, 0xFF08, 0x80000000);//OCP Bypass mode

    }


    It’s this register write that causes the kernel to crash. So I removed this and now the system boots successfully see log below. I can now run the sdk demo programs like OGLESParticles etc. The program is running and displayed on the screen, but I get some warning and one error see output below. You can also see the output from the baseline script below.


    So my question is now if I need to configure something more to remove the errors from the OGLESParticles demo?

     

    ##### Kernel Log:

    Initializing random number generator... read-only file system detected...done
    /dev/mem opened.
    Memory mapped at address 0x400df000.
    Value at address 0x48004B48 (0x400dfb48): 0x3
    Written 0x2; readback 0x2
    /dev/mem opened.
    Memory mapped at address 0x40333000.
    Value at address 0x48004B10 (0x40333b10): 0x0
    Written 0x1; readback 0x1
    /dev/mem opened.
    Memory mapped at address 0x40417000.
    Value at address 0x48004B00 (0x40417b00): 0x0
    Written 0x2; readback 0x2
    [   22.107849] PVR: PVRCore_Init
    [   22.137908] PVR: PVRSRVDriverProbe(pDevice=bf056388)
    [   22.144287] PVR: EnableSystemClocks: Enabling System Clocks
    [   22.150482] PVR: GPTIMER11 clock is 13MHz
    [   22.154754] PVR: Setting GPTIMER11 mode to posted (currently is non-posted)
    [   22.162170] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088040
    [   22.168792] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088024
    [   22.177551] PVR: PVRCore_Init: major device 250
    [   22.598114]
    [   22.598144] =============================================
    [   22.605316] [ INFO: possible recursive locking detected ]
    [   22.610931] 2.6.37 #8
    [   22.613311] ---------------------------------------------
    [   22.618927] pvrsrvinit/597 is trying to acquire lock:
    [   22.624176]  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [   22.633056]
    [   22.633056] but task is already holding lock:
    [   22.639129]  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [   22.647857]
    [   22.647857] other info that might help us debug this:
    [   22.654663] 1 lock held by pvrsrvinit/597:
    [   22.658905]  #0:  (psPVRSRVMutex){+.+.+.}, at: [<bf025688>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [   22.668090]
    [   22.668090] stack backtrace:
    [   22.672698] [<c0047498>] (unwind_backtrace+0x0/0xf0) from [<c009cf70>] (__lock_acquire+0xf10/0x185c)
    [   22.682220] [<c009cf70>] (__lock_acquire+0xf10/0x185c) from [<c009d994>] (lock_acquire+0xd8/0xfc)
    [   22.691497] [<c009d994>] (lock_acquire+0xd8/0xfc) from [<c036ac98>] (mutex_lock_nested+0x60/0x2ec)
    [   22.700927] [<c036ac98>] (mutex_lock_nested+0x60/0x2ec) from [<bf025688>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm])
    [   22.711639] [<bf025688>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm]) from [<bf022e14>] (_KFreeWrapper+0x5c/0x294 [pvrsrvkm])
    [   22.722961] [<bf022e14>] (_KFreeWrapper+0x5c/0x294 [pvrsrvkm]) from [<bf022da8>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm])
    [   22.734375] [<bf022da8>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm]) from [<bf029ad0>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm])
    [   22.745880] [<bf029ad0>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm]) from [<bf009aa4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm])
    [   22.758544] [<bf009aa4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm]) from [<bf015f74>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm])
    [   22.771667] [<bf015f74>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm]) from [<bf0279e0>] (PVRSRVOpen+0x3c/0xe0 [pvrsrvkm])
    [   22.783111] [<bf0279e0>] (PVRSRVOpen+0x3c/0xe0 [pvrsrvkm]) from [<c00f7ca8>] (chrdev_open+0x17c/0x1a4)
    [   22.792816] [<c00f7ca8>] (chrdev_open+0x17c/0x1a4) from [<c00f3280>] (__dentry_open+0x188/0x2a8)
    [   22.801971] [<c00f3280>] (__dentry_open+0x188/0x2a8) from [<c00f3468>] (nameidata_to_filp+0x48/0x54)
    [   22.811492] [<c00f3468>] (nameidata_to_filp+0x48/0x54) from [<c00ff028>] (do_last+0x468/0x5b4)
    [   22.820495] [<c00ff028>] (do_last+0x468/0x5b4) from [<c0100b48>] (do_filp_open+0x180/0x508)
    [   22.829193] [<c0100b48>] (do_filp_open+0x180/0x508) from [<c00f3040>] (do_sys_open+0x58/0xe8)
    [   22.838104] [<c00f3040>] (do_sys_open+0x58/0xe8) from [<c0041700>] (ret_fast_syscall+0x0/0x3c)
    [   22.885894] PVR: Installing MISR with cookie bf057ffc
    [   22.892150] PVR: Installing device LISR SGX ISR on IRQ 21 with cookie ce814900
    [   22.899902] PVR: OSUnMapPhysToLin: unmapping 16384 bytes from d0a58000
    [   22.906829] PVR_K:(Warning): SysFinalise: Version string: SGX revision = 1.2.1 [575, opt/R5_CDU/buildroot/output/build/ti-graphics-sdk-4_05_00_02/GFX_Linux_KM/services4/system/omap3/sysconfig.c]
    PVR:
    PVR: Memory Stats
    PVR: ------------
    PVR:
    PVR: High Water Mark = 0 bytes
    Loaded PowerVR consumer services.
    Starting network...

    ##### End Kernel Log

     

    ##### Baseline script output:

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

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

    Hardware        : AM3517 R5CDUP2
    Revision        : 0020
    Serial          : 0000000000000000
    ------
    SGX driver information
    Version 1.6.16.4117 (debug) /opt/R5_CDU/buildroot/output/build/ti-graphics-sdk-4_05_00_02/GFX_Linux_KM
    System Version String: SGX revision = 1.2.1
    ------
    Framebuffer settings
    ./test.sh: line 12: fbset: not found
    ------
    Rotation settings
    0
    ------
    Kernel Module information
    Module                  Size  Used by    Not tainted
    omaplfb                10527  0
    pvrsrvkm              388152  1 omaplfb
    r5fpga_firmware         2152  0
    ------
    Boot settings
    mem=256M root=/dev/mtdblock3 console=ttyO2,115200n8 r5cdugpio.hw_rev=0 r5cdugpio.boot_pin=0 mem=256M vram=10M omapfb.vram=0:4M,1:3M,2:3M
    ------
    Linux Kernel version
    Linux buildroot 2.6.37 #8 Fri Dec 9 15:10:52 CET 2011 armv7l GNU/Linux

    ##### End Baseline script output

     

    ##### OGLESParticles output

    # ./OGLESParticles -qat=5
    PVR: Hint: Setting WindowSystem to libpvrPVR2D_FRONTWSEGL.so
    PVR:(Warning): PVRSRVMetricsTimeNow: not implemented [120, /pvr_metrics.c]
    PVR:
    PVR: Memory Stats
    PVR: ------------
    PVR:
    PVR: High Water Mark = 4104 bytes
    PVR:
    PVR: 4104 bytes still allocated in 1 allocations
    PVR:
    PVR: 1   -  4104 bytes at 0x73238 - tls.c:49
    PVR:
    PVR:(Warning): PVR2DEnumerateDevices: display device name too long, truncating [161, /pvr2dinit.c]
    PVR:
    PVR: Memory Stats
    PVR: ------------
    PVR:
    PVR: High Water Mark = 4104 bytes
    PVR:
    PVR: 4104 bytes still allocated in 1 allocations
    PVR:
    PVR: 1   -  4104 bytes at 0x73238 - tls.c:49
    PVR:
    PVRShell: EGL 1.4 initialized
    PVR:(Error): OSIsProcessPrivileged: not implemented, default returns false [586, /osfunc_um.c]
    PVR:  Total Frames                                         188
    PVR:  Profiled Frames                         (0-188)        188
    PVR:  Average Elapsed Time per Profiled Frame (ms)     25.0294
    PVR:  Average Driver Time per Profiled Frame (ms)      25.2284
    PVR:  Estimated FPS                                      39.9530
    PVR:
    PVR:      Statistics per profiled frame          [Calls/Time(ms)]
    PVR:  Total Prepare to draw                           6/    0.1277
    PVR:  Total SwapBuffers                               1/    0.5293
    PVR:  Total SGXKickTA                                 2/    0.4774
    PVR:  Total Renders                              1.0000/       -
    PVR:  Total Wait for 3D                               0/    0.3783
    PVR:  Total Wait for TA                               0/    0.0002
    PVR:  Total ValidateState()                           5/    2.0747
    PVR:   - Setup_VAO_AttribStreams()                    5/    0.0362
    PVR:   - Setup_VAO_AttribPointers()                   0/    0.0000
    PVR:   - Setup_TextureState()                         5/    0.1073
    PVR:   - Setup_Streams()                              0/    0.0000
    PVR:   - UpdateMVP()                                  0/    0.0000
    PVR:   - Setup_VertexShader()                         5/    1.6720
    PVR:   - Setup_VertexConstants()                      5/    0.0803
    PVR:   - Setup_Outputs()                              0/    0.0000
    PVR:   - Setup_VertexVariant()                        0/    0.0000
    PVR:   - Setup_RenderState()                          3/    0.0246
    PVR:   - Setup_FragmentShader()                       4/    0.0949
    PVR:  Total EmitState()                               5/    0.9304
    PVR:   - WritePDSPixelShaderProgram()                 5/    0.0483
    PVR:   - WritePDSVertexShaderProgramWithVAO()             0/    0.0000
    PVR:   - WritePDSVertexShaderProgramWithVAO() - Generate or Patch Program             0/    0.0000
    PVR:   - WritePDSStaticVertexShader()                 5/    0.0285
    PVR:   - WriteAuxiliaryPDSVertexShader()              5/    0.0604
    PVR:   - WritePDSUSEShaderSAProgram()                 8/    0.1392
    PVR:   - WriteMTEState()                              4/    0.0332
    PVR:   - WriteMTEStateCopyPrograms()                  4/    0.0461
    PVR:   - SetupStateUpdate()                           9/    0.0288
    PVR:   - WriteVDMControlStream()                      5/    0.0418
    PVR:  USE Codeheap Alloc - Fragment                   0/    0.0005
    PVR:  USE Codeheap Alloc - Vertex                     0/    0.0018
    PVR:  Total Primitive Draw                            5/    3.3477
    PVR:  Total Vertex Data Copy                          5/    0.0498
    PVR:  Total Index Data Generate/Copy                  1/    0.0062
    PVR:  Array Points                                    2/    1.7287
    PVR:  Array Strips                                    2/    1.0415
    PVR:  Element Triangles                               1/    0.5567
    PVR:
    PVR:  PDS Variant hit/miss totals
    PVR:  PDSPixelShaderProgram - variant hit            935
    PVR:  PDSPixelShaderProgram - variant miss             5
    PVR:
    PVR:          Statistics per call            [Maximum time (ms) in a single call]
    PVR:  Max Prepare to draw                     0.410685
    PVR:  Max SGXKickTA                           0.626783
    PVR:  Max Wait for 3D                        71.124245
    PVR:  Max Wait for TA                         0.031961
    PVR:  Max ValidateState()                   202.365707
    PVR:  Max EmitState()                         1.185525
    PVR:  Max USE Codeheap Alloc - Fragment       0.037834
    PVR:  Max USE Codeheap Alloc - Vertex         0.242643
    PVR:  Max NamesArray operation                1.922149
    PVR:  Total Code Heap operations                      0/    0.0000
    PVR:
    PVR:  Buffer Statistics                           [  kB/kB per Frame  ]
    PVR:   VDM Control                              54.8672/    0.2918
    PVR:   Vertex data                             496.4375/    2.6406
    PVR:   Index data                               58.7500/    0.3125
    PVR:   PDS vertex data                         230.9766/    1.2286
    PVR:   PDS vertex auxiliary data                11.0156/    0.0586
    PVR:   MTE Copy data                            72.0312/    0.3831
    PVR:   PDS fragment data                        52.1406/    0.2773
    PVR:   USSE fragment data                        8.8125/    0.0469
    PVR:
    PVR:   MTE State                                58.0352/    0.3087
    PVR:
    PVR:   USE Codeheap - Fragment                   0.0625/    0.0003
    PVR:   USE Codeheap - Vertex                     0.7031/    0.0037
    PVR:
    PVR:  FFGen stats                     [  Calls/Time per call  ]
    PVR:   FFGen time                            2/    3.6165
    PVR:   USC time                              2/  137.8432
    PVR:
    PVR:  Average TexImage Load MTexels/s                     7.2523
    PVR:  Average Compress Load MTexels/s                    73.8158
    PVR:  Texture Statistics         [  Calls/perCall-Time|Texels  / perFrame-Time/Texels  ]
    PVR:     TexImage                      15/      1.1641/    8442/        0.0929/  673.59
    PVR:     TexSubImage                    0/      0.0000/       0/        0.0000/    0.00
    PVR:     CompTex                       18/      0.1315/    9709/        0.0126/  929.59
    PVR:  Texture Statistics         [  Calls/Time per Call/Time per Frame]
    PVR:     CopyImage                      0/       0.0000/         0.0000
    PVR:     CopySubImage                   0/       0.0000/         0.0000
    PVR:     AllocateTexture                4/       1.1775/         0.0251
    PVR:     TranslateLoadTexture           4/       1.5649/         0.0333
    PVR:     Load Ghost Texture             0/       0.0000/         0.0000
    PVR:     Texture Readback               0/       0.0000/         0.0000
    PVR:
    PVR:  Texture allocation HWM = 471751 bytes
    PVR:(Warning): PB Watermark Info - Alloc: 0x40 , Free: 0x59d [472, /sgxrender_targets.c]
    PVR:
    PVR: Memory Stats
    PVR: ------------
    PVR:
    PVR: High Water Mark = 651486 bytes
    PVR:
    PVR: 11912 bytes still allocated in 2 allocations
    PVR:
    PVR: 1   -  7808 bytes at 0xde9c8 - srv.c:395
    PVR: 2   -  4104 bytes at 0x73238 - tls.c:49
    PVR:
    PVR:(Warning): Active Power stats: Total: 5 [117, /sgxrender_context.c]
    PVR:(Warning): HW Recovery stats: Host: 0        uKernel: 0 [131, /sgxrender_context.c]
    PVR:
    PVR: Memory Stats
    PVR: ------------
    PVR:
    PVR: High Water Mark = 651486 bytes
    PVR:
    PVR: 4104 bytes still allocated in 1 allocations
    PVR:
    PVR: 1   -  4104 bytes at 0x73238 - tls.c:49
    PVR:
    PVR:

    ##### End OGLESParticles output

  • The modification done is correct. This is fixed in the current version of the Graphics SDK (4.05.00.03) (http://tigraphics.blogspot.com/2011/12/final-4q-graphics-sdk-package-4050003.html) that has some additional fixes. It is advised to move to this version.

    The messages output are ok.