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.

DM8148 VPSS fails

Hi all. 

We have a DM8148 custom board. We currently have kernel panics when loading vpss. The thing is that the panics and fails have a different behavior each time. But it still not possible to get to a working shell because of it.
The bootargs are 

notifyk.vpssm3_sva=0xbf900000 ti814xfb.vram=0:24M,1:16M,2:6M mem=238M@0x80000000 vmalloc=486M vram=50M irqpoll 5

The kernel is compiled from latest PSP with Syslink built-in, and kernel notify. Project compiled with USE_SYSLINK_NOTIFY=0.

Here is some of the logs:

[   12.482716] BACKLIGHT DBG: backlight init
[   12.489124] BACKLIGHT DBG: panel_set_backlight_level 200
[   12.498509] BACKLIGHT DBG: Brightness change : 0  ->  200
main[776]: - Called
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments=== 
<Processor Id>         0: DSP, 1: Video-M3, 2: Vpss-M3 
<Location of Firmware> firmware binary file 
<start|stop>           to start/stop the firmware 
===Optional arguments=== 
-mmap                  input memory map bin file name 
-i2c                   0: i2c init not done by M3, 1(default): i2c init done by M3 
FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
start_firmware[610]: - Called
Entered start_firmware
ProcMgr_attach: Success
ProcMgr_load: Success
Ipc_control: Success
start_firmware[653]: - Getting sart params
start_firmware[655]: - Starting ProcMgr
start_firmware[663]: - Started.... status is 111693824. going to Ipc_control
start_firmware[665]: - IpcControl address is 0x00012d14
start_firmware[667]: - Ipc_control returned 0
start_firmware[681]: - About to loop for all segments
frmldr_createSr[492]: - Called
Entering memstp_createSr(0x4033a010, 0xbedf9af8)
memstp_mapPhyAddr2UsrVirtual[430]: - Called
Entered memstp_mapPhyAddr2UsrVirtual(0x9a100000, 1048576)
ProcMgr_map Success VirtAddr: 0x4088c000

ProcMgr_translateAddr Status [0x0] User Virtual Address [0x4088c000]
Leaving memstp_createSr, retVal: 0
frmldr_createSr[492]: - Called
Entering memstp_createSr(0x4033a0d0, 0xbedf9af8)
memstp_mapPhyAddr2UsrVirtual[430]: - Called
Entered memstp_mapPhyAddr2UsrVirtual(0xb3d00000, 197132288)
ProcMgr_map Success VirtAddr: 0x409a9000

ProcMgr_translateAddr Status [0x0] User Virtual Address [0x409a9000]
Leaving memstp_createSr, retVal: 0
start_firmware[703]: - Ended returning 0
FIRMWARE: Memory Configuration status : In Progress
FIRMWARE: 2 start Successful
[   18.723902] VPSS_FVID2: M3 firmware version 0x1000145 is newer,driver may not work properly.
[   20.787307] VPSS_FVID2: contrl event 0x1004001a timeout
[   20.792954] VPSS_DCTRL: failed to get venc info.

Here is another one which comes up quite a lot of times:

[   21.041738] BACKLIGHT DBG: panel_set_backlight_level 200
[   21.067976] BACKLIGHT DBG: Brightness change : 0  ->  200
[   21.209029] Unable to handle kernel paging request at virtual address d189d000
[   21.229643] pgd = c9d94000
[   21.232476] [d189d000] *pgd=89deb011, *pte=9609d4d3, *ppte=9609c443
[   21.246423] Internal error: Oops: 80f [#1] PREEMPT
[   21.251433] last sysfs file: /sys/devices/platform/mmci-omap-hs.0/mmc_host/mmc0/mmc0:59b4/block/mmcblk0/queue/scheduler
[   21.262710] Modules linked in: backlight physhmem syslink fpga_ctrl pixcir_i2c_ts edt_ft5x06
[   21.271575] CPU: 0    Not tainted  (2.6.37CB #178)
[   21.276600] PC is at __memzero+0x24/0x80
[   21.280703] LR is at 0x0
[   21.283353] pc : [<c01f5504>]    lr : [<00000000>]    psr: 20000013
[   21.283363] sp : c9c63cac  ip : 00000000  fp : c9c63d1c
[   21.295364] r10: d1800000  r9 : cff8e000  r8 : d104d000
[   21.300828] r7 : 06a85000  r6 : 005dc180  r5 : bf11d9f8  r4 : c9c63d48
[   21.307655] r3 : 00000000  r2 : 00000000  r1 : 0053f140  r0 : d189d000
[   21.314483] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   21.321947] Control: 10c5387d  Table: 89d94019  DAC: 00000015
[   21.327956] Process g5_Dsp_Manager (pid: 1097, stack limit = 0xc9c622e8)
[   21.334965] Stack: (0xc9c63cac to 0xc9c64000)
[   21.339525] 3ca0:                            bf033134 96000000 000b0680 d10fe000 00000001
[   21.348085] 3cc0: d106a000 d1800000 00000001 96000000 96000000 c9c63ce0 005dc180 bf040000
[   21.356644] 3ce0: d10fe000 00000001 d104d01c 96000000 c9c63d0c d10ce060 d106a000 00000003
[   21.365203] 3d00: 0000000e d104d000 d1067000 00000001 c9c63d2c c9c63d20 bf036730 bf032fec
[   21.373762] 3d20: c9c63d9c c9c63d30 bf03546c bf03672c c9c63d6c c9c63d40 d1067000 9664104c
[   21.382321] 3d40: 0000000e d104d01c d1067000 d10d7000 d1200000 00000001 00000080 00000000
[   21.390880] 3d60: 00000002 00000080 d106a000 d106a000 00000000 cff8e000 03046000 cff88000
[   21.399440] 3d80: beb93bd4 00000001 c9c63ec0 00000001 c9c63de4 c9c63da0 bf032150 bf034d44
[   21.407998] 3da0: d1064000 00000001 beb93bd4 00000000 bf054d88 d1067000 c9c63df4 cff88000
[   21.416558] 3dc0: 00000001 beb93bd4 d1064000 c9c63ec0 d1064000 00000000 c9c63e1c c9c63de8
[   21.425117] 3de0: bf022c10 bf031ee8 00000000 c9c63ec0 beb93bd4 00000000 cf26e000 00000001
[   21.433677] 3e00: cff9a000 beb93bd4 00000000 c9c63ec0 c9c63e5c c9c63e20 bf027104 bf022b30
[   21.442235] 3e20: 00000000 c9c63ec0 beb93bd4 00000000 00000019 00000000 caa7b980 d1064000
[   21.450795] 3e40: beb93b70 bf11d9f8 c9c62000 00000000 c9c63ef4 c9c63e60 bf0290a8 bf026ef0
[   21.459354] 3e60: 00000000 c9c63ec0 c9c63d84 c9c63f3c c00db770 c00aebdc c9c63f64 4051ea30
[   21.467913] 3e80: c9c63f60 005c41a8 c9c63eb4 c9c63e98 c02b20ac 0000005c 0000005c cb249300
[   21.476472] 3ea0: 00004000 005c41a8 cff9a000 beb93efd 00000019 00000001 beb93bd4 00000000
[   21.485031] 3ec0: 00000000 00000000 cb168d78 c9c62000 cb616100 ca9b4060 caa7b980 00000009
[   21.493591] 3ee0: 00000009 beb93b70 c9c63f04 c9c63ef8 c00e8494 bf028538 c9c63f74 c9c63f08
[   21.502150] 3f00: c00e8c28 c00e8478 c9c63f24 c9c63f18 00000015 ca8c6540 00000000 00000001
[   21.510709] 3f20: 00000000 cabdc700 c9c63f64 c9c63f38 caa7b980 00000009 c9c63f7c 00000009
[   21.519268] 3f40: c00467a8 c9c62000 c9c63f74 00000000 beb93b70 c020e0a2 00000009 caa7b980
[   21.527827] 3f60: c9c62000 00000000 c9c63fa4 c9c63f78 c00e8cc8 c00e86dc c00467a8 00000001
[   21.536386] 3f80: c9c63fa4 beb93b70 00000000 00000000 00000036 c00467a8 00000000 c9c63fa8
[   21.544945] 3fa0: c0046600 c00e8c7c beb93b70 00000000 00000009 c020e0a2 beb93b70 00000001
[   21.553504] 3fc0: beb93b70 00000000 00000000 00000036 40271944 401f17a8 40271624 40271624
[   21.562063] 3fe0: c020e0a2 beb93b38 401c6fc4 404b2aec 60000010 00000009 8ecfe021 8ecfe421
[   21.570613] Backtrace: 
[   21.573640] [<bf032fe0>] (ElfLoaderTrgWrite_copy+0x0/0x388 [syslink]) from [<bf036730>] (DLIF_copy+0x10/0x1c [syslink])
[   21.585212] [<bf036720>] (DLIF_copy+0x0/0x1c [syslink]) from [<bf03546c>] (DLOAD_load+0x734/0xa58 [syslink])
[   21.595778] [<bf034d38>] (DLOAD_load+0x0/0xa58 [syslink]) from [<bf032150>] (ElfLoader_load+0x274/0x37c [syslink])
[   21.606868] [<bf031edc>] (ElfLoader_load+0x0/0x37c [syslink]) from [<bf022c10>] (Loader_load+0xec/0x164 [syslink])
[   21.617944] [<bf022b24>] (Loader_load+0x0/0x164 [syslink]) from [<bf027104>] (ProcMgr_load+0x220/0x2fc [syslink])
[   21.628930] [<bf026ee4>] (ProcMgr_load+0x0/0x2fc [syslink]) from [<bf0290a8>] (ProcMgrDrv_ioctl+0xb7c/0x1b74 [syslink])
[   21.640347] [<bf02852c>] (ProcMgrDrv_ioctl+0x0/0x1b74 [syslink]) from [<c00e8494>] (vfs_ioctl+0x28/0x44)
[   21.650262]  r8:beb93b70 r7:00000009 r6:00000009 r5:caa7b980 r4:ca9b4060
[   21.657309] [<c00e846c>] (vfs_ioctl+0x0/0x44) from [<c00e8c28>] (do_vfs_ioctl+0x558/0x5a0)
[   21.665961] [<c00e86d0>] (do_vfs_ioctl+0x0/0x5a0) from [<c00e8cc8>] (sys_ioctl+0x58/0x7c)
[   21.674531] [<c00e8c70>] (sys_ioctl+0x0/0x7c) from [<c0046600>] (ret_fast_syscall+0x0/0x30)
[   21.683264]  r8:c00467a8 r7:00000036 r6:00000000 r5:00000000 r4:beb93b70

Please Help! 

:)

  • Hello,

    When you rebuild the new psp have you rebuild the vpss.ko module as well and cp the new one?

    BR
    Margarita
  • What do you mean by rebuilt the vpss.ko? The vpss module is built with the kernel. It is found at drivers/video/ti81xx/vpss isn't it? The firmware loader that loads M3-VPSS firmware is taken from the ezsdk5_05_02_00/board-support/media-controller-utils_3_00_00_05/.. Still fails each time. especially if it loaded with the DSP, the system crashes almost immediately? Can it be something with shared memory maybe?
  • Hello,

    When you rebuild the kernel with changes and PSP you should rebuild the modules also. "make modules" and to cp the new one.
    Could you post all the steps that you follow and what changes you made?

    Have you made changes in the memory map? If yes, you could check this user guide: processors.wiki.ti.com/.../EZSDK_Memory_Map

    BR
    Margarita
  • Hi.
    Yes of course I do make modules and make modules_install. The modules seems to be new. The memory map used is TI's default. I wrote to you the bootargs I use.
  • Hello,

    This is bootargs for 1G memory board SD boot:
    console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=256M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M vmalloc=500M ti814xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd


    Could you check with this?

    I am not observing problem to load the DPS firmware.



    BR
    Margarita
  • Hi. I have tried. It doesn't seem to help
  • Hello,

    Margarita Gashova said:
    Could you post all the steps that you follow and what changes you made?

    BR
    Margarita

  • Sure. I have done all work stated in dm8148 VPSS user guide, except all the V4L part. I didn't insert video drivers into kernel. Memory map is not changed. Bootargs are mentioned in the original question. I am using the laod-hd-firmware script to load vpss firmware.
    What can cause the VPSS hang on almost every time then? especially when the DSP is working, it hangs almost immediately..
  • Hello,

    You are observing this hang on custom board correct?
    I would recommend you to check the difference between EVM and the custom board, is there any.


    On the EVM I am not observing any problem with the default EZSDK.

    BR
    Margarita
  • Hi.
    No changes from the EVM on this part of board. Is the debugging output i can get from the VPSS before the system hangs:
    "[ 30.515790] VPSS_CORE : cpu version 0x81400281
    [ 30.520658] VPSS_SHRBUF: sbuf init
    [ 30.525127] VPSS_SHRBUF: map 0xbfb00000 to 0xdb800000 with size 2097152
    [ 30.532229] VPSS_FVID2: fvid2 init
    [ 30.535950] VPSS_FVID2: Handshake...
    [ 30.539880] VPSS_SHRBUF: FOUND 0xbfb00000, end 0xbfd00000, map vir 0xdb800000 size 4096
    [ 30.549669] VPSS_SHRBUF: free mem paddr 0xbfb00000 vaddr 0xdb800000 size 4096
    [ 30.557295] VPSS_FVID2: M3 firmware version 0x1000145 is newer,driver may not work properly.
    [ 30.566269] VPSS_SYSTEM: enter system init
    [ 30.570670] VPSS_SHRBUF: FOUND 0xbfb00000, end 0xbfd00000, map vir 0xdb800000 size 4096
    [ 30.579191] VPSS_SHRBUF: FOUND 0xbfb01000, end 0xbfd00000, map vir 0xdb801000 size 4096
    [ 30.589862] VPSS_FVID2: Fvid2 handle 0x9f20328c with notifyno 10 within 2 ms
    [ 30.597240] VPSS_FVID2: send control with cmd 0x10080002
    [ 30.604597] VPSS_FVID2: control event 0x10080002 return 0 within 1 ms.
    [ 30.611593] VPSS_DCTRL: dctrl init
    [ 30.615282] VPSS_SHRBUF: FOUND 0xbfb02000, end 0xbfd00000, map vir 0xdb802000 size 4096
    [ 30.623856] VPSS_SHRBUF: FOUND 0xbfb03000, end 0xbfd00000, map vir 0xdb803000 size 4096
    [ 30.635808] VPSS_FVID2: Fvid2 handle 0x9f2032ac with notifyno 11 within 3 ms
    [ 30.643466] VPSS_DCTRL: mode dvo2:1080p-60
    [ 30.647896] VPSS_FVID2: send control with cmd 0x10040003
    [ 30.655361] VPSS_FVID2: control event 0x10040003 return 0 within 1 ms.
    [ 30.662311] VPSS_FVID2: send control with cmd 0x10040003
    [ 30.669397] VPSS_FVID2: control event 0x10040003 return 0 within 1 ms.
    [ 30.676242] VPSS_FVID2: send control with cmd 0x10040003
    [ 30.683528] VPSS_FVID2: control event 0x10040003 return 0 within 1 ms.
    [ 30.690506] VPSS_FVID2: send control with cmd 0x1004001c
    [ 30.697710] VPSS_FVID2: control event 0x1004001c return 0 within 1 ms.
    [ 30.704689] VPSS_FVID2: send control with cmd 0x1004001c
    [ 30.711896] VPSS_FVID2: control event 0x1004001c return 0 within 1 ms.
    [ 30.718730] VPSS_SYSTEM: enter set pll 148500KHz for VENC 2
    [ 30.724658] VPSS_SYSTEM: request clk 1485000000Hz
    [ 30.729902] VPSS_SYSTEM: enter set pll 148500KHz for VENC 1
    [ 30.735865] VPSS_SYSTEM: request clk 1485000000Hz
    [ 30.741232] VPSS_SYSTEM: enter set pll 54000KHz for VENC 0
    [ 30.746988] VPSS_SYSTEM: request clk 1080000000Hz
    [ 30.752266] VPSS_DCTRL: dc_set_vencmode called
    [ 30.757070] VPSS_DCTRL: dc_get_vencinfo called
    [ 30.761827] VPSS_FVID2: send control with cmd 0x1004001a
    [ 30.769803] VPSS_FVID2: control event 0x1004001a return 0 within 2 ms.
    [ 30.776659] VPSS_FVID2: send control with cmd 0x10040019
    [ 30.787239] VPSS_FVID2: control event 0x10040019 return 0 within 4 ms.
    [ 30.794170] VPSS_GRPX : grpx init
    [ 30.797652] VPSS_SHRBUF: FOUND 0xbfb04000, end 0xbfd00000, map vir 0xdb804000 size 4096
    [ 30.806248] VPSS_VIDEO: video init
    [ 30.809953] VPSS_SHRBUF: FOUND 0xbfb05000, end 0xbfd00000, map vir 0xdb805000 size 8192
    [ 30.818484] VPSS_CAPTURE: cap init
    [ 30.822146] VPSS_SHRBUF: FOUND 0xbfb07000, end 0xbfd00000, map vir 0xdb807000 size 49152
    [ 30.830909] VPSS_SHRBUF: sharing buffer used 77824 byte, left 2019328 bytes
    [ 30.860566] VPSS_GRPX : (0)- get resolution.
    [ 30.865227] VPSS_DCTRL: enter get output format
    [ 30.873830] VPSS_DCTRL: dc_get_vencinfo called
    [ 30.878508] VPSS_FVID2: send control with cmd 0x1004001a
    [ 30.886327] VPSS_FVID2: control event 0x1004001a return 0 within 2 ms.
    "
  • Hello,

    Since there are no changes in the EZSDK and board is same, could you try to create a new SD card and try to boot?

    BR

    Margarita