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.

SGX lockup

Other Parts Discussed in Thread: 4430

Hi.

I am using a GLP1.6.6-based BSP on a custom board.  When using the OGLES Demo programs, I frequently see SGX lock ups.  Hardware recovery handles that and the demo program continues, but the lockups cause jitter in the display.

I have included the dump which the SGX kernel module is providing at the time of the lockup below.

Larger output seems to be related to the problem.  On my 800x480 display:

    OGLES2ChameleonMan -width=775 -height=400       results in no errors at all

    OGLES2ChameleonMan -width=800 -height=480       results in lots of errors

The closer to 800x400, the more frequent the errors.

Any hints would be appreciated.

    Steve

PVR_K:(Error): SGXOSTimer() detected SGX lockup (0xc tasks) [1763, services4/srvkm/devices/sgx/sgxinit.c]
PVR_K: HWRecoveryResetSGX: SGX Hardware Recovery triggered
PVR_K: SGX debug (SGX_DDK_Linux_CustomerTI sgxddk 19 1.9.RC2@2139099)
PVR_K:(Error): SGX Register Base Address (Linear):   0xE09C0000 [1278, services4/srvkm/devices/sgx/sgxinit.c]
PVR_K:(Error): SGX Register Base Address (Physical): 0x56000000 [1279, services4/srvkm/devices/sgx/sgxinit.c]
PVR_K: (P0) EUR_CR_CORE_ID:          01140000
PVR_K: (P0) EUR_CR_CORE_REVISION:    00010200
PVR_K: (P0) EUR_CR_EVENT_STATUS:     20000000
PVR_K: (P0) EUR_CR_EVENT_STATUS2:    00000008
PVR_K: (P0) EUR_CR_BIF_CTRL:         00000000
PVR_K: (P0) EUR_CR_BIF_INT_STAT:     00008000
PVR_K: (P0) EUR_CR_BIF_FAULT:        00000000
PVR_K: (P0) EUR_CR_BIF_MEM_REQ_STAT: 00000001
PVR_K: (P0) EUR_CR_CLKGATECTL:       000AAA6A
PVR_K: (P0) EUR_CR_PDS_PC_BASE:      00002118
PVR_K: SGX Host control:
PVR_K:     (HC-0) 0x00000001 0x00000000 0x00000000 0x00000000
PVR_K:     (HC-10) 0x00000002 0x0000000A 0x0004B000 0x00000003
PVR_K:     (HC-20) 0x00000000 0x00000003 0x00000000 0x0000002C
PVR_K:     (HC-30) 0x00000116 0xF8BBFA30 0x00000000 0x00000000
PVR_K:     (HC-40) 0x00000000 0xE3530000 0x0AFFFFE8 0xE1A00007
PVR_K: SGX TA/3D control:
PVR_K:     (T3C-0) 0x0F003000 0x0F0030E0 0x0F002000 0x00000000
PVR_K:     (T3C-10) 0x00000000 0x00000000 0x00000000 0x0F00AB80
PVR_K:     (T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
PVR_K:     (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
PVR_K:     (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
PVR_K:     (T3C-50) 0x00000000 0x0F00AD70 0x0F000000 0x9AF4B000
PVR_K:     (T3C-60) 0x0F02E180 0x00000000 0x0F01E920 0x0F00AB80
PVR_K:     (T3C-70) 0x0F00AD70 0x0F01E920 0x00000000 0x00000000
PVR_K:     (T3C-80) 0x00000000 0x00000000 0x00000000 0x00000000
PVR_K:     (T3C-90) 0x00000000 0x0000002E 0x0000002E 0x0F004000
PVR_K:     (T3C-A0) 0x0F00A420 0x0F00B000 0x0F01E000 0x0F01E000
PVR_K:     (T3C-B0) 0x00000000 0x0000047F 0x0000047F 0x00000000
PVR_K:     (T3C-C0) 0x00000003 0x00000001 0x00000000 0x00000001
PVR_K:     (T3C-D0) 0x00000000 0xE1A00004 0xEBFFFFFE 0xE3A03001
PVR_K: SGX Kernel CCB WO:0x63 RO:0x62

  • Steve,

    I am trying to get some help for your question. Just to let you know.

  • Hi Matt.

    I have since discovered one additional piece of information.  This only happens when using the OMAP4460.  The same board populated with an OMAP4430 and running the same kernel and rootfs does not have the problem.

    Regards,

        Steve

  • As I indicated earlier, this only happens when the the display occupies the entire display.  Looking at it further, this is because only when the full width and height are used does xf86-video-omap use flip mode with the SGX.  If I hack it to prevent flip mode, the problem goes away.  That is less than ideal as it causes a performance hit.

    However, I've also found out that switching from SR3 to SR1.5 resolves the problem.

    Why it only happened on OMAP4460 (not 4430) and why SR only affects flip mode with the SGX eludes me.

    Regards,
        Steve