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.

omaplfb crashed for kernel 3.4.61 with SGX 1.9

Hi,

I am tring to Port SGX to kitkat with 3.4.61 kernel on Blaze Tablet

I am using SGX DDK 1.9@2166536

Kernel Crash is observed in omaplfb at "drivers/video/omap2/omaplfb" .  Kernel Crash Log pasted at end. 

Kernel does not crash if sgx binaries are not  used.

Is this due to mismatch of SGX binaries and kernel OMAPLFB ?

Please help me in resolving this crash.

Note:

omaplfb module is present in both SGX DDK and kernel. currently omaplfb in kernel is used.

should is use omaplfb.ko built form SGX DDK?

SGX DDK 1.9@2166536 doesnt build omaplfb.ko.

how should i use SGX DDK to 

1) Build omaplfb.ko

 enabling DISPLAY_CONTROLLER_COMPONENT := dc_omapfb3_linux   

at eurasia_km/eurasiacon/build/linux2/omap4430_android/Makefile  ?

2) Tell kernel to load SGX omaplfb.ko  instead of kernel omaplfb(drivers/video/omap2/omaplfb)

----------Kernel crash log------------

[ 9.681121] PVR: PVRCore_Init
[ 9.705657] PVR: LinuxMMInit: Maximum page pool size: 10800
[ 9.717437] PVR: PVRSRVDriverProbe(pDevice=d7131600)
[ 9.737030] PVR: SGX register base: 0x56000000
[ 9.737030] PVR: SGX register size: 65535
[ 9.737030] PVR: SGX IRQ: 53
[ 9.758666] PVR: EnableSystemClocks: Enabling System Clocks
[ 9.766113] PVR: PVRCore_Init: major device 247
[ 9.955627] PVR: Installing MISR with cookie bf050ebc
[ 9.988067] PVR: Installing device LISR SGX ISR on IRQ 53 with cookie d5b41ac0
[ 10.000701] PVR: SysFinalise: Version string: SGX revision = 1.2.0

[ 10.010375] omaplfbOMAPLFBInit: Blitsville gc2d not present, blits disabled
[ 10.019195] omaplfb: OMAPLFBInitFBDev: Device 2: invalid framebuffer size

.................

[ 13.068054] omaplfb ProcessFlipV2
[ 13.072113] omaplfb invalid size of private data (636 vs 680)

[ 13.078460] ------------[ cut here ]------------

[ 13.083801] WARNING: at drivers/video/omap2/omaplfb/omaplfb_displayclass.c:988 ProcessFlipV2+0x1b4/0x56c()
[ 13.094329] invalid size of private data (636 vs 680)
[ 13.099639] Modules linked in: pvrsrvkm_sgx540_120(O)
[ 13.105712] Backtrace:
[ 13.108520] [<c00183e0>] (dump_backtrace+0x0/0x114) from [<c069402c>] (dump_stack+0x20/0x24)
[ 13.117706] r6:000003dc r5:c02be1f8 r4:d599fdb0 r3:c09ad490
[ 13.124237] [<c069400c>] (dump_stack+0x0/0x24) from [<c0047c10>] (warn_slowpath_common+0x5c/0x74)
[ 13.133911] [<c0047bb4>] (warn_slowpath_common+0x0/0x74) from [<c0047ce4>] (warn_slowpath_fmt+0x40/0x48)
[ 13.144256] r8:d5062000 r7:000002a8 r6:00000000 r5:00000001 r4:0000027c
[ 13.151763] r3:00000009
[ 13.154846] [<c0047ca4>] (warn_slowpath_fmt+0x0/0x48) from [<c02be1f8>] (ProcessFlipV2+0x1b4/0x56c)
[ 13.164672] r3:0000027c r2:c08656e8
[ 13.169464] [<c02be044>] (ProcessFlipV2+0x0/0x56c) from [<c02be890>] (ProcessFlip+0x74/0x78)
[ 13.179290] [<c02be81c>] (ProcessFlip+0x0/0x78) from [<bf01bc88>] (PVRSRVProcessQueues+0x44c/0x58c [pvrsrvkm_sgx540_120])
[ 13.191741] [<bf01b83c>] (PVRSRVProcessQueues+0x0/0x58c [pvrsrvkm_sgx540_120]) from [<bf019930>] (PVRSRVMISR+0x30/0x88 [pvrsrvkm_)
[ 13.206024] [<bf019900>] (PVRSRVMISR+0x0/0x88 [pvrsrvkm_sgx540_120]) from [<bf000b1c>] (MISRWrapper+0x1c/0x20 [pvrsrvkm_sgx540_12)
[ 13.219238] r4:d5994b80 r3:bf000b00
[ 13.224151] [<bf000b00>] (MISRWrapper+0x0/0x20 [pvrsrvkm_sgx540_120]) from [<c0063acc>] (process_one_work+0x148/0x4b4)
[ 13.236083] [<c0063984>] (process_one_work+0x0/0x4b4) from [<c0063fcc>] (worker_thread+0x194/0x3e0)
[ 13.246215] [<c0063e38>] (worker_thread+0x0/0x3e0) from [<c0068ea8>] (kthread+0x98/0xa4)
[ 13.255371] [<c0068e10>] (kthread+0x0/0xa4) from [<c004bda8>] (do_exit+0x0/0x80c)
[ 13.263916] r6:c004bda8 r5:c0068e10 r4:d58afec4
[ 13.269989] Board Information:
[ 13.269989] Revision : 0010
[ 13.269989] Serial : 0000000000000000
[ 13.270019] SoC Information:
[ 13.270019] CPU : OMAP4430
[ 13.270019] Rev : ES2.1
[ 13.270019] Type : GP
[ 13.270019] Production ID: 0001B95C-000300F0
[ 13.270019] Die ID : 1D620003-00000001-0612D687-01000000
[ 13.270019]
[ 13.304962] ---[ end trace f640ffeeb8dee57f ]---

  • Hi Srinivas,

    Can you provide more logs of the kernel crash. I think you better switch to other ddk and see if it brakes in the same nature.

    Regards,

    Boyko

  • Hi Boyko,

    Kitkat ,Kernel and gfx_check.sh logs are attached. Let me know if any other logs are required.

    http://e2e.ti.com/support/omap/f/849/p/351043/1236361.aspx#1236361

    Above kitkat crash issue is resolved by taking OMAP enhancements of kitkat/hardware/libhardware from JellyBean code

    With this changes, gralloc.omap4430.so is being used instead of  gralloc.default.so

    But now i am observing Kernel crash. 

    Kernel crash is due to Failure of below condition in function ProcessFlipV2 of omaplfb/omaplfb_displayclass.c

    uiHwcDataSz=636 calcsz=680

    if (uiHwcDataSz != calcsz)

    WARN(1, "invalid size of private data (%d vs %d)",uiHwcDataSz, calcsz);

    ----------

    I have enabled SGX debug prints, i am getting below error in SGX

    E/IMGSRV ( 121): sgxinit.c:3323: SetupuKernel : EDM status value DevVAddr: 0x0F004000 pvLinAddrKM: 0xE0BC1000

    Should i take omap enhancements of surface flinger?

    which version of DDK should i use?

    Note: using  DDK 1.9  with JellyBean and 3.4.61, SGX is up. But just switching to Kitkat, i am facing issues

    Regards,

    Srinivas

    sgx.7z
  • Hi Srinivas,

    Most of the community have managed to run kitkat with  kernels 3.4+ so keep that in mind that many changes  may be required  to succeed. If flip effect is disabled does any other event invoke the kernel crash?

    Regards,

    Boyko