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.

Problem loading pvrsrvkm.ko with Graphics SDK on 8148

Other Parts Discussed in Thread: TLC59108

I am trying to get Graphics SDK 's sgx driver work on my ubuntu ARM 12.04.

with linux-2.6.37-psp04.01.00.06.patch4.; ezsdk_dm814x-evm_5_03_01_15 ; graphics-sdk_4.04.00.02

the ubuntu arm 12.04 rootfs work fine without the ti81xxfb driver before this, I run a QT program with my lvds LCD.

Today ,I rebulid the kernel and the sgx driver, and run make install in graphics-sdk_4.04.00.02 dir to install the km and sdk to my rootfs

I use the 38xx-demo to install the sgx dirver module and sdk,and disable the origin x in the script , and reboot.

After reboot , the vpss ti81xxfb cmem syslink was loaded( vpssis load with vram=0:48m,1:1M,2:1M)

Then I try to run /etc/init.d/rc.pvr  ,it print out some error messages and hang there .

With lsmod ,the drm and pvrsrvkm module was loaded at this point.

What can I do to fix this problem?

below is the dmesg output:

--------------------------------------------------------------------------------------------------------------------

[    2.060000] CPSW phy found : id is : 0x4dd074
[    2.070000] PHY 0:01 not found
[    3.080000] IP-Config: Complete:
[    3.080000]      device=eth0, addr=192.168.1.169, mask=255.255.0.0, gw=192.168.1.49,
[    3.090000]      host=192.168.1.169, domain=, nis-domain=(none),
[    3.090000]      bootserver=192.168.1.49, rootserver=192.168.1.49, rootpath=
[    5.060000] PHY: 0:00 - Link is Up - 100/Full
[    5.170000] VFS: Mounted root (nfs filesystem) on device 0:14.
[    5.170000] devtmpfs: mounted
[    5.180000] Freeing init memory: 176K
[    6.930000] SysLink version : 2.00.05.85
[    6.930000] SysLink module created on Date:Apr 24 2013 Time:15:38:22
[    7.110000] <30>udevd[136]: starting version 175
[   14.670000] init: failsafe main process (319) killed by TERM signal
[   15.210000] init: udev-fallback-graphics main process (370) terminated with status 1
[   17.160000] CMEMK module: built on Apr 24 2013 at 15:38:17
[   17.160000]   Reference Linux version 2.6.37
[   17.160000]   File /opt/d500/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/linuxutils_3_21_00_04/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[   17.160000] CMEM Range Overlaps Kernel Physical - allowing overlap
[   17.160000] CMEM phys_start (0x96000000) overlaps kernel (0x80000000 -> 0xa3a00000)
[   17.160000] allocated heap buffer 0xe1000000 of size 0x2000000
[   17.160000] heap fallback enabled - will try heap if pool buffer is not available
[   17.160000] cmemk initialized
[   17.200000] SDMAK module: built on Apr 24 2013 at 15:44:38
[   17.200000]   Reference Linux version 2.6.37
[   17.200000] EDMAK Debug: rfxtiling registered major = 250
[   17.240000] init: firmware-dm814x-fb main process (111) terminated with status 1
[   85.400000] [drm] Initialized drm 1.1.0 20060810
[   85.450000] [drm] Initialized pvrsrvkm 1.6.4117 Wed January 21 PST 2015 for SGX on minor 0
[   85.650000] Unhandled fault: external abort on non-linefetch (0x1008) at 0xde9c0014
[   85.660000] Internal error: : 1008 [#1]
[   85.660000] last sysfs file: /sys/devices/SGX/drm/card0/uevent
[   85.660000] Modules linked in: pvrsrvkm drm rfxtiling cmemk ti81xxfb vpss syslink
[   85.660000] CPU: 0    Not tainted  (2.6.37 #1)
[   85.660000] PC is at OSReadHWReg+0xc/0x18 [pvrsrvkm]
[   85.660000] LR is at SysCreateVersionString+0x30/0x8c [pvrsrvkm]
[   85.660000] pc : [<bf1c30bc>]    lr : [<bf1ce244>]    psr: a0000013
[   85.660000] sp : d4c0bd48  ip : d4c0bd58  fp : d4c0bd54
[   85.660000] r10: bf1d4318  r9 : bf1c47dc  r8 : 00000042
[   85.660000] r7 : d5227000  r6 : 00000000  r5 : de9c0000  r4 : bf1d4c2c
[   85.660000] r3 : 00000012  r2 : 00000000  r1 : 00000014  r0 : de9c0000
[   85.660000] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   85.660000] Control: 10c5387d  Table: 94c00019  DAC: 00000015
[   85.660000] Process pvrsrvinit (pid: 775, stack limit = 0xd4c0a2e8)
[   85.660000] Stack: (0xd4c0bd48 to 0xd4c0c000)
[   85.660000] bd40:                   d4c0bd74 d4c0bd58 bf1ce244 bf1c30bc 00000002 bf1d4c2c
[   85.660000] bd60: bf1d4c2c bf1d4ba4 d4c0bd94 d4c0bd78 bf1ce314 bf1ce220 bf1d4c2c d5227000
[   85.660000] bd80: d5226000 d5227000 d4c0bdac d4c0bd98 bf1bc7bc bf1ce2ac 00000000 d5227000
[   85.660000] bda0: d4c0bdcc d4c0bdb0 bf1ca0ac bf1bc7a8 d5226000 d4c0be48 d5179140 d5227000
[   85.660000] bdc0: d4c0bdf4 d4c0bdd0 bf1c8f38 bf1ca064 c01c6742 d4c0be48 00000307 d5208b00
[   85.660000] bde0: 401c6440 bf1c47dc d4c0be1c d4c0bdf8 bf1c48fc bf1c8e68 c0b47960 d5179140
[   85.660000] be00: 0000001c d4c0be48 0000001c d5208b00 d4c0bef4 d4c0be20 bf184180 bf1c47e8
[   85.660000] be20: 00000307 401c6440 00000040 0000e200 00000001 d4c0be40 c009d4ac bef7b434
[   85.660000] be40: d4c27400 d4c27420 00000042 0000001c bef7b468 00000008 bef7b460 00000008
[   85.660000] be60: 00000001 c009b514 00000000 40a4e000 40a4e000 40a4dfff c0528894 c0528894
[   85.660000] be80: d4c0bea4 d4c0be90 c009d7a8 c009d5dc d4c01028 40a4e000 d4c0becc d4c0bea8
[   85.660000] bea0: c00aec74 c009d778 000037ee 00000000 00000000 40a4d000 bef5a000 c0528894
[   85.660000] bec0: d4c0bf04 d4c0bed0 c00aed30 00000000 d5208b80 00000003 00000003 bef7b434
[   85.660000] bee0: d4c0a000 00000000 d4c0bf04 d4c0bef8 c00cc0ec bf183eec d4c0bf74 d4c0bf08
[   85.660000] bf00: c00cc7fc c00cc0d0 d4c5f688 00000000 d4c5f688 d5213b00 d4c0bf3c d4c0bf28
[   85.660000] bf20: c00b08d4 c00bbe54 d4c5f688 d4c2c900 d4c0bf84 d4c0bf40 c00b18f0 c00b087c
[   85.660000] bf40: 40a4e000 00000002 d4c0bf6c 00000000 bef7b434 401c6440 00000003 d5208b80
[   85.660000] bf60: d4c0a000 00000000 d4c0bfa4 d4c0bf78 c00cc894 c00cc308 d4c0bfa4 00000000
[   85.660000] bf80: c00b1968 00000001 bef7b434 401c6440 00000036 c003ef48 00000000 d4c0bfa8
[   85.660000] bfa0: c003eda0 c00cc848 00000001 bef7b434 00000003 401c6440 bef7b434 0000001c
[   85.660000] bfc0: 00000001 bef7b434 401c6440 00000036 00000000 00000000 40096000 00000000
[   85.660000] bfe0: 400604cc bef7b40c 40052968 401bf85c 20000010 00000003 95ffe021 95ffe421
[   85.660000] Backtrace:
[   85.660000] [<bf1c30b0>] (OSReadHWReg+0x0/0x18 [pvrsrvkm]) from [<bf1ce244>] (SysCreateVersionString+0x30/0x8c [pvrsrvkm])
[   85.660000] [<bf1ce214>] (SysCreateVersionString+0x0/0x8c [pvrsrvkm]) from [<bf1ce314>] (SysFinalise+0x74/0x94 [pvrsrvkm])
[   85.660000]  r5:bf1d4ba4 r4:bf1d4c2c
[   85.660000] [<bf1ce2a0>] (SysFinalise+0x0/0x94 [pvrsrvkm]) from [<bf1bc7bc>] (PVRSRVFinaliseSystem+0x20/0x58 [pvrsrvkm])
[   85.660000]  r7:d5227000 r6:d5226000 r5:d5227000 r4:bf1d4c2c
[   85.660000] [<bf1bc79c>] (PVRSRVFinaliseSystem+0x0/0x58 [pvrsrvkm]) from [<bf1ca0ac>] (PVRSRVInitSrvDisconnectBW+0x54/0x84 [pvrsrvkm])
[   85.660000]  r5:d5227000 r4:00000000
[   85.660000] [<bf1ca058>] (PVRSRVInitSrvDisconnectBW+0x0/0x84 [pvrsrvkm]) from [<bf1c8f38>] (BridgedDispatchKM+0xdc/0x134 [pvrsrvkm])
[   85.660000]  r7:d5227000 r6:d5179140 r5:d4c0be48 r4:d5226000
[   85.660000] [<bf1c8e5c>] (BridgedDispatchKM+0x0/0x134 [pvrsrvkm]) from [<bf1c48fc>] (PVRSRV_BridgeDispatchKM+0x120/0x150 [pvrsrvkm])
[   85.660000]  r9:bf1c47dc r8:401c6440 r7:d5208b00 r6:00000307 r5:d4c0be48
[   85.660000] r4:c01c6742
[   85.660000] [<bf1c47dc>] (PVRSRV_BridgeDispatchKM+0x0/0x150 [pvrsrvkm]) from [<bf184180>] (drm_ioctl+0x2a0/0x3a0 [drm])
[   85.660000]  r7:d5208b00 r6:0000001c r5:d4c0be48 r4:0000001c
[   85.660000] [<bf183ee0>] (drm_ioctl+0x0/0x3a0 [drm]) from [<c00cc0ec>] (vfs_ioctl+0x28/0x44)
[   85.660000] [<c00cc0c4>] (vfs_ioctl+0x0/0x44) from [<c00cc7fc>] (do_vfs_ioctl+0x500/0x540)
[   85.660000] [<c00cc2fc>] (do_vfs_ioctl+0x0/0x540) from [<c00cc894>] (sys_ioctl+0x58/0x7c)
[   85.660000] [<c00cc83c>] (sys_ioctl+0x0/0x7c) from [<c003eda0>] (ret_fast_syscall+0x0/0x30)
[   85.660000]  r8:c003ef48 r7:00000036 r6:401c6440 r5:bef7b434 r4:00000001
[   85.660000] Code: e89da800 e1a0c00d e92dd800 e24cb004 (e7900001)
[   86.110000] ---[ end trace f508dcc167c706ab ]---
[   86.120000] [drm:drm_release] *ERROR* Device busy: 1

  • Hello,

    The EZSDK 5.03 is an old release you could move to the latest one 5.05.02. You could download it from here:

    software-dl.ti.com/.../index_FDS.html

    It contains :

    psp04.04.00.01

    graphics-sdk_4.04.00.02

    EZSDK 5.05.02 by default it will load these modules:

    bufferclass_ti          4950  0
    omaplfb                10794  0
    pvrsrvkm              155618  2 bufferclass_ti,omaplfb
    tlc59108                1545  0
    ti81xxhdmi             17685  0
    ti81xxfb               21979  2
    vpss                   74936  3 omaplfb,ti81xxhdmi,ti81xxfb
    syslink              1133911  0
    ipv6                  214095  14

    If you rebuild the pvrsrvkm.ko or some other module:

    1.The Linux kernel has to be built with "modules" support (make uImage modules)

    2.The kernel modules of the Graphics driver have to be built, after the linux kernel is built in the above manner. ie, the kernel modules need to match the kernel version that will actually run on the target.

    Best Regards,

    Margarita

  • I go on fixing the problem today and found some other questions.
    As you list ,there's no drm.ko module loaded; drm module is build in to kernel by default.
    But the GRAPHICS SDK seem to build a drm.ko it self ,which have some symbol "drm_pvr_remove" ect
    pvrsrvdm.ko need this symbol.

    By the way, my board is a custom board, is tlc59108 is on the chip or just for evm board?
  • Hello,

    I would recommend you to check this user guide :

    Biao Yang said:
    By the way, my board is a custom board, is tlc59108 is on the chip or just for evm board?

    EVM.

    Best Regards,

    Margarita

  • Now I can get all the modules load correctly.  But, still the same error happen .(in ezsdk 5.03 and 5.05)

    I had try to load the pvr_drv.so to the xorg come with ubuntu arm 12, and found it's version is too old for the xorg.

    It seem pvr_drv.so and some other libarys is provided as bin form TI.

    A coording to the message provided by Robert C.Nelson,  it just can't work with ubuntu arm 12.

    It's that means I must give up using ubuntu or debian and try busy box without X, if I still warn 3d to work?