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.

Issue With Running Demo from Codec Engine and cmemk.ko loading

Other Parts Discussed in Thread: OMAP3530

Hi,

 

We have purchased Mistral OMAP 35x board for VoIP solution and downloaded  dvsdk_3_00_00_21 from TI's site. We are trying to run the demo application came alongwith codec engine_2_20_01 . We have copied entire codec Engine in MMC card and while loading cmemk.ko it was showing the following error:-

 

[root@OMAP3EVM OMAP3530]# ./loadmodules.sh
CMEMK Error: CMEM phys_start (0x85000000) overlaps kernel (0x80000000 -> 0x88000000)
insmod: cannot insert 'cmemk.ko': invalid parameters
dsplinkk: no version for "struct_module" found: kernel tainted.
DSPLINK Module (1.51) created on Date: Aug  1 2008 Time: 19:28:58

 

 We fixed this issue by changing the by

 

insmod cmemk.ko phys_start=0x88800000 phys_end=0x8A800000 pools=20x4096,8x131072

 

but still it gives error while running ./app.out as follows:-

[root@OMAP3EVM Codec_Engine]# ./app.out
App-> Application started.
Error: DSP-side memory map does not match configuration.
Compare DSP-side TCF/MAP file with /dsplink/config/all/CFG_<PLATFORM>.c
@0x0005ae3b:[T:0x40964490] OP - Processor_create_d> Loading and starting DSP server 'video_copy.x64P' FAILED, status=[0x8000
@0x0005af30:[T:0x40964490] OP - Processor_delete_d> Closing remote transport FAILED, status=0x80008000.
@0x0005af6d:[T:0x40964490] OP - Processor_delete_d> Stopping DSP FAILED, status=0x80008000
@0x0006b980:[T:0x4001cfb0] CE - rserverOpen: can't start 'video_copy.x64P'; Processor_create failed
CEapp-> ERROR: can't open engine video_copy
App-> Application FAILED.

 

Sometimes kernel is also getting hanged. I am not getting how to fix this issue.

Neither decode nor encode demo is working.

What may be the fix?

 

Regards,

Vineet Priyank

  • Hi Vineet,

     

    The problem is that your fix changing the parameters of cmemk doesn't work. cmemk handles a pool of buffer for communication with the DSP, and the buffers you are creating are not big enough for the algorithms to work. The solution that you need is to leave the cmemk line as it is and change your kernel boot parameters to include "mem=88M", this way cmemk allocations from loadmodules.sh won't overlap with kernel memory.

     

    You should be able to run the codecs from there just fine. BTW: there is a new DVSDK 3_00_00_29 (Beta 2) already available, you may want to check out that one.

     

    Regards,

     

    Diego Dompe

    RidgeRun Engineering

  • Diego's solution is correct, your DSP application is expecting certain locations to be available to it and when those locations are not the same in CMEM it cannot be loaded. Additionally DDR2 only exists up to 0x88000000 (starts at 0x80000000 and goes for 128MB), so this configuration has that issue as well as having a DSP executable that does not line up with CMEM. If you did have the additional memory on your board than you would have to rebuild the Codec Engine server (DSP executable) to align with the new memory map.

  • Hi Diego,

     

    Thx for your useful suggestion, I changed the bootparameters

    setenv bootargs_rd  mem=88M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x81600000,40M ramdisk_size=40960

    but while booting from NAND the following errors are coming:-

    RAMDISK: Compressed image found at block 0
    eth0: link up, 100Mbps, full-duplex, lpa 0x05E1

    swapper invoked oom-killer: gfp_mask=0xd0, order=0, oomkilladj=0
    [<c002f314>] (dump_stack+0x0/0x14) from [<c008ad00>] (out_of_memory+0x7c/0x1e0)
    [<c008ac84>] (out_of_memory+0x0/0x1e0) from [<c008c5c0>] (__alloc_pages+0x224/0x29c)
     r8:00000000 r7:c03b010c r6:000000d0 r5:00000000 r4:00000000
    [<c008c39c>] (__alloc_pages+0x0/0x29c) from [<c00a354c>] (cache_alloc_refill+0x270/0x500)
    [<c00a32dc>] (cache_alloc_refill+0x0/0x500) from [<c00a384c>] (__kmalloc+0x70/0x80)
    [<c00a37dc>] (__kmalloc+0x0/0x80) from [<c000994c>] (malloc+0x14/0x18)
     r5:00000013 r4:c04f1ecc
    [<c0009938>] (malloc+0x0/0x18) from [<c000997c>] (huft_build+0x2c/0x580)
    [<c0009950>] (huft_build+0x0/0x580) from [<c000a0f0>] (inflate_dynamic+0x220/0x5dc)
    [<c0009ed0>] (inflate_dynamic+0x0/0x5dc) from [<c000ad50>] (rd_load_image+0x718/0xe34)
    [<c000a638>] (rd_load_image+0x0/0xe34) from [<c000b580>] (initrd_load+0x40/0x310)
    [<c000b540>] (initrd_load+0x0/0x310) from [<c000928c>] (prepare_namespace+0xc8/0x14c)
     r5:c03e17c8 r4:00100000
    [<c00091c4>] (prepare_namespace+0x0/0x14c) from [<c00088f0>] (kernel_init+0x210/0x26c)
     r5:00000000 r4:c03e17a0
    [<c00086e0>] (kernel_init+0x0/0x26c) from [<c0064e5c>] (do_exit+0x0/0x784)
    Mem-info:
    DMA per-cpu:
    CPU    0: Hot: hi:   18, btch:   3 usd:   2   Cold: hi:    6, btch:   1 usd:   0
    Active:6199 inactive:6265 dirty:0 writeback:0 unstable:0
     free:151 slab:318 mapped:0 pagetables:0 bounce:0
    DMA free:604kB min:1196kB low:1492kB high:1792kB active:24796kB inactive:25060kB present:89408kB pages_scanned:761slowmem_reserve[]: 0 0
    DMA: 1*4kB 1*8kB 1*16kB 0*32kB 1*64kB 0*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 604kB
    Swap cache: add 0, delete 0, find 0/0, race 0+0
    Free swap  = 0kB
    Total swap = 0kB
    Free swap:            0kB
    22528 pages of RAM
    2991 free pages
    6637 reserved pages
    318 slab pages
    0 pages shared
    0 pages swap cached
    Kernel panic - not syncing: Out of memory and no killable processes...

     

    Howerver when giving setenv bootargs_rd  mem=120M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x81600000,40M ramdisk_size=40960

    it is booting properly

    RAMDISK: Compressed image found at block 0
    eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
    VFS: Mounted root (ext2 filesystem).
    Freeing init memory: 136K
    init started: BusyBox v1.9.1 (2008-07-01 17:19:53 IST)
    starting pid 287, tty '': '/etc/init.d/rcS'

        System initialization...

        Hostname       : OMAP3EVM
        Filesystem     : v1.0.0

        Kernel release : Linux 2.6.22.18-omap3
        Kernel version : #1 Tue Jul 1 17:16:34 IST 2008

    eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
    VFS: Mounted root (ext2 filesystem).
    Freeing init memory: 136K
    init started: BusyBox v1.9.1 (2008-07-01 17:19:53 IST)
    starting pid 287, tty '': '/etc/init.d/rcS'

        System initialization...

        Hostname       : OMAP3EVM
        Filesystem     : v1.0.0

        Kernel release : Linux 2.6.22.18-omap3
        Kernel version : #1 Tue Jul 1 17:16:34 IST 2008

     Mounting /proc             : [SUCCESS]
     Mounting /sys              : [SUCCESS]
     Mounting /dev              : [SUCCESS]
     Mounting /dev/pts          : [SUCCESS]
     Enabling hot-plug          : [SUCCESS]
     Populating /dev            : [SUCCESS]
     Disabling Power mgmt       : [SUCCESS]
     Turn off LCD after 1 hour  : [SUCCESS]
     Mounting other filesystems : [SUCCESS]
     Starting syslogd           : [SUCCESS]
     Starting telnetd           : [SUCCESS]

    System initialization complete.
     Starting Demo Application...
    Jan  1 00:00:09 OMAP3EVM syslog.info syslogd started: BusyBox v1.9.1

    #####################################################################
    #                                                                   #
    #                   Image Viwer Application                         #
    #              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                    #
    #                                                                   #
    #     Press S4 key to exit from this application                    #
    #     Press S16 key to test the Touch Screen                        #
    #     Press S10 key to run the Audio Loopback                       #
    #     Press any otherkey to view an BMP image on the LCD            #
    #     The Application can also be invoked by /usr/tests/demo        #
    #     at the linux prompt                                           #
    #                                                                   #
    #####################################################################


    Please press Enter to activate this console.

    but while loading cmemk.ko at insmod cmemk.ko phys_start=0x85000000 phys_end=0x86000000 pools=20x4096,8x131072

    address of overlap is changed as per following:-

    [root@OMAP3EVM OMAP3530]# ./loadmodules.sh
    CMEMK Error: CMEM phys_start (0x85000000) overlaps kernel (0x80000000 -> 0x87800000)
    insmod: cannot insert 'cmemk.ko': invalid parameters
    dsplinkk: no version for "struct_module" found: kernel tainted.
    DSPLINK Module (1.51) created on Date: Aug  1 2008 Time: 19:28:58
    [root@OMAP3EVM OMAP3530]# lsmod
    Module                  Size  Used by    Tainted: GF
    lpm_omap3530           10196  0
    dsplinkk              102520  1 lpm_omap3530

     

    Still I am trying to optimize mem parameter. Any suggestion? If I will boot from MMC card will it help?

     

    Earlier I had reflashed the default kernel,ramdisk,u-boot and xloader from OMAP SDK 1.0.0 release .The filesystem what I flashed according to the OMAP SDK 1.0.0 is

    [root@OMAP3EVM /]# df -h
    Filesystem                Size      Used Available Use% Mounted on
    rootfs                   38.7M     29.7M      7.0M  81% /
    /dev/root                38.7M     29.7M      7.0M  81% /
    mdev                     57.5M         0     57.5M   0% /dev
    none                     57.5M         0     57.5M   0% /tmp
    /dev/mmcblk0p2          387.3M    274.9M     92.4M  75% /mnt

     

  • I had changed mem=120 M and load cmemk insmod cmemk.ko phys_start=0x87800000 phys_end=0x88000000 pools=20x4096,8x131072

     

    then I tried to run ./app.out , it was giving following errors

    root@OMAP3EVM evm3530]# ./app.out
    App-> Application started.
    DSP MMU Error Fault!  MMU_IRQSTATUS = [0x10]. Virtual DSP addr reference that generated the interrupt = [0x87f00000].
    DSP-side configuration mismatch/failure
    0              -> success
    Positive value -> DSP-side failure code.
    (Uint32) -1    -> DSP-side component was not initialized.

        DRV configuration status    [0xffffffff]
        IPS configuration status    [0xffffffff]
        POOL configuration status   [0xffffffff]
        MPCS configuration status   [0xffffffff]
        MPLIST configuration status [0xffffffff]
        MQT configuration status    [0xffffffff]
        RINGIO configuration status [0xffffffff]
    @0x00003492:[T:0x40964490] OP - Processor_create_d> Loading and starting DSP server 'video_copy.x64P' FAILED, status=[0x800
    @0x000035c3:[T:0x40964490] OP - Processor_delete_d> Closing remote transport FAILED, status=0x80008000.
    @0x00003600:[T:0x40964490] OP - Processor_delete_d> Stopping DSP FAILED, status=0x80008000
    @0x0001353a:[T:0x4001cfb0] CE - rserverOpen: can't start 'video_copy.x64P'; Processor_create failed
    CEapp-> ERROR: can't open engine video_copy
    App-> Application FAILED.
    [root@OMAP3EVM evm3530]#

     

    Please help me to resolve these errors.

  • This would indicate that as part of boot process, so many processes are being loaded into DDR2 that you need more than the 88M allocated to Linux space; I am not too familiar with the OMAP Linux Kernel and filesystem, but this seems like quite a bit of memory.

    You can always look to optimize the kernel or file system, but maybe someone more familiar with OMAP software can chime in and explain how this memory is being used up.

  • Vineet,

     

    I wasn't aware you were using an initrd fs image (You see, we user our own SDK for OMAP35x that handles the filesystem allocation for us, and initrd is not used often for the memory dog it is). In this case I think you are better off using some NFS boot procedure or SD-card boot procedure (I don't recall if TI SDK provides and SD boot procedure, but I seem to recall they have an NFS one).

    The problem is that you *must* reduce the linux memory to 88M, anything different from that will get your codecs in trouble, and the initrd image can't boot with that.

     

    We will be rolling a new free SDK for OMAP35x in a few days with integrated support for DVSDK and Graphics SDK that could make your life easier to evaluate the platform if you are interested. I'm mostly missing updates on the documentation and that the graphics SDK get posted at the updates website.

     

    Diego Dompe

    RidgeRun Engineering.

  • ddompe said:
    I don't recall if TI SDK provides and SD boot procedure, but I seem to recall they have an NFS one

    I would usually suggest the NFS route for development purposes, it just makes working with the board from a host PC much easier and it is discussed in detail in the EVM getting started guide. If you are looking to use the SD card method it does certainly work with the EVM, in fact there was a fairly large thread a couple days ago going over the details of it. A good step by step for formatting a SD card to boot can be found in the Beagle Board collateral.

  • Juan and DIego,

     

    Thanks alot buddies you were absolutely right . Now I have reflashed ramdisk.min.gz and load cmemk.ko at 0x85800000 to 0x86000000. Things are working fine. I am able to encode and decode in.dat to out.dat. Here is the dump

    [root@OMAP3EVM evm3530]# ./app.out
    App-> Application started.
    [DSP] @0x00000179:[T:0x00000000] servers.video_copy.evm3530 - main> Welcome to DSP server's main().
    CEapp-> Allocating contiguous buffer for 'input data' of size 1024...
    CEapp-> Allocating contiguous buffer for 'encoded data' of size 1024...
    CEapp-> Allocating contiguous buffer for 'output data' of size 1024...
    App-> Processing frame 1...
    App-> Processing frame 2...
    App-> Processing frame 3...
    App-> Processing frame 4...
    App-> Finished encoding and decoding 4 frames
    App-> Application finished successfully.

    [root@OMAP3EVM evm3530]# cd /mnt/dvsdk_demos_3_00_00_03/omap3530/decode/

     

    First thing I want it to display on OMAP 35x EVM LCD display. How to do that and another thing is I am unable to decode A/V file alone. The following errors are displaying while decoding the file .246/.mv4/.MP3 and displaing Error: Failed to open codec engine decode

    [root@OMAP3EVM decode]# ./decode -v /mnt/data/videos/davincieffect_ntsc_1.264
    Decode demo started.
    Error: Failed to open codec engine decode
    decode: page allocation failure. order:10, mode:0xd1
    [<c002f314>] (dump_stack+0x0/0x14) from [<c008c624>] (__alloc_pages+0x288/0x29c)
    [<c008c39c>] (__alloc_pages+0x0/0x29c) from [<c008c660>] (__get_free_pages+0x28/0x5c)
    [<c008c638>] (__get_free_pages+0x0/0x5c) from [<c01c1b14>] (omap35xvout_alloc_buffer+0x40/0xa0)
    [<c01c1ad4>] (omap35xvout_alloc_buffer+0x0/0xa0) from [<c01c1cc0>] (omap35x_buffer_setup+0xbc/0x280)
     r5:c3d3f000 r4:c3d3f000
    [<c01c1c04>] (omap35x_buffer_setup+0x0/0x280) from [<c01bee30>] (videobuf_reqbufs+0x124/0x1dc)
    [<c01bed0c>] (videobuf_reqbufs+0x0/0x1dc) from [<c01c315c>] (omap24xxvout_do_ioctl+0x844/0x153c)
     r7:c53c7e38 r6:c3d3f304 r5:c3d3f000 r4:00000000
    [<c01c2918>] (omap24xxvout_do_ioctl+0x0/0x153c) from [<c01af15c>] (video_usercopy+0x1b8/0x2b8)
    [<c01aefa4>] (video_usercopy+0x0/0x2b8) from [<c01c3fb4>] (omap24xxvout_ioctl+0xdc/0xec)
    [<c01c3ed8>] (omap24xxvout_ioctl+0x0/0xec) from [<c00b2444>] (do_ioctl+0x68/0x78)
    [<c00b23dc>] (do_ioctl+0x0/0x78) from [<c00b26b4>] (vfs_ioctl+0x260/0x278)
     r5:413d4c24 r4:c5093dc0
    [<c00b2454>] (vfs_ioctl+0x0/0x278) from [<c00b270c>] (sys_ioctl+0x40/0x64)
     r7:c5093dc0 r6:c0145608 r5:413d4c24 r4:00000008
    [<c00b26cc>] (sys_ioctl+0x0/0x64) from [<c002ade0>] (ret_fast_syscall+0x0/0x2c)
     r7:00000036 r6:413d5680 r5:00000002 r4:00000002
    Mem-info:
    DMA per-cpu:
    CPU    0: Hot: hi:   18, btch:   3 usd:   7   Cold: hi:    6, btch:   1 usd:   5
    Active:1447 inactive:1313 dirty:0 writeback:0 unstable:0
     free:9644 slab:449 mapped:261 pagetables:23 bounce:0
    DMA free:38576kB min:1196kB low:1492kB high:1792kB active:5788kB inactive:5252kB present:89408kB pages_scolowmem_reserve[]: 0 0
    DMA: 52*4kB 22*8kB 17*16kB 61*32kB 34*64kB 24*128kB 4*256kB 2*512kB 14*1024kB 7*2048kB 0*4096kB 0*8192kB BSwap cache: add 0, delete 0, find 0/0, race 0+0
    Free swap  = 0kB
    Total swap = 0kB
    Free swap:            0kB
    22528 pages of RAM
    12518 free pages
    6603 reserved pages
    449 slab pages
    381 pages shared
    [root@OMAP3EVM viddec_copy]# ls
    VIDDEC_COPY.xdc        package                package.xs
    VIDDEC_COPY.xs         package.bld            viddec_copy.c
    [root@OMAP3EVM viddec_copy]# cp VIDDEC_COPY.x* /mnt/dvsdk_demos_3_00_00_03/omap3530/decode/
    [root@OMAP3EVM viddec_copy]# cd /mnt/dvsdk_demos_3_00_00_03/omap3530/decode/
    [root@OMAP3EVM decode]# ./decode -v /mnt/data/videos/davincieffect_ntsc_1.264
    Decode demo started.
    Error: Failed to open codec engine decode
    decode: page allocation failure. order:10, mode:0xd1
    [<c002f314>] (dump_stack+0x0/0x14) from [<c008c624>] (__alloc_pages+0x288/0x29c)
    [<c008c39c>] (__alloc_pages+0x0/0x29c) from [<c008c660>] (__get_free_pages+0x28/0x5c)
    [<c008c638>] (__get_free_pages+0x0/0x5c) from [<c01c1b14>] (omap35xvout_alloc_buffer+0x40/0xa0)
    [<c01c1ad4>] (omap35xvout_alloc_buffer+0x0/0xa0) from [<c01c1cc0>] (omap35x_buffer_setup+0xbc/0x280)
     r5:c3d3f000 r4:c3d3f000
    [<c01c1c04>] (omap35x_buffer_setup+0x0/0x280) from [<c01bee30>] (videobuf_reqbufs+0x124/0x1dc)
    [<c01bed0c>] (videobuf_reqbufs+0x0/0x1dc) from [<c01c315c>] (omap24xxvout_do_ioctl+0x844/0x153c)
     r7:c0d7fe38 r6:c3d3f304 r5:c3d3f000 r4:00000000
    [<c01c2918>] (omap24xxvout_do_ioctl+0x0/0x153c) from [<c01af15c>] (video_usercopy+0x1b8/0x2b8)
    [<c01aefa4>] (video_usercopy+0x0/0x2b8) from [<c01c3fb4>] (omap24xxvout_ioctl+0xdc/0xec)
    [<c01c3ed8>] (omap24xxvout_ioctl+0x0/0xec) from [<c00b2444>] (do_ioctl+0x68/0x78)
    [<c00b23dc>] (do_ioctl+0x0/0x78) from [<c00b26b4>] (vfs_ioctl+0x260/0x278)
     r5:413d4c24 r4:c4690e60
    [<c00b2454>] (vfs_ioctl+0x0/0x278) from [<c00b270c>] (sys_ioctl+0x40/0x64)
     r7:c4690e60 r6:c0145608 r5:413d4c24 r4:00000008
    [<c00b26cc>] (sys_ioctl+0x0/0x64) from [<c002ade0>] (ret_fast_syscall+0x0/0x2c)
     r7:00000036 r6:413d5680 r5:00000002 r4:00000002
    Mem-info:
    DMA per-cpu:
    CPU    0: Hot: hi:   18, btch:   3 usd:   7   Cold: hi:    6, btch:   1 usd:   5
    Active:1475 inactive:1266 dirty:0 writeback:2 unstable:0
     free:9678 slab:434 mapped:271 pagetables:23 bounce:0
    DMA free:38712kB min:1196kB low:1492kB high:1792kB active:5900kB inactive:5064kB present:89408kB pages_scolowmem_reserve[]: 0 0
    DMA: 28*4kB 39*8kB 1*16kB 44*32kB 30*64kB 21*128kB 6*256kB 4*512kB 14*1024kB 7*2048kB 0*4096kB 0*8192kB =BSwap cache: add 0, delete 0, find 0/0, race 0+0
    Free swap  = 0kB
    Total swap = 0kB
    Free swap:            0kB
    22528 pages of RAM
    12552 free pages
    6603 reserved pages
    434 slab pages
    400 pages shared
    0 pages swap cached
    Segmentation fault

     

    Even the interface command is not working and is displaying as follows

    [root@OMAP3EVM interface]# ./interface -l 2
    Demo interface started at level 2.
    Error: Failed to create display device instance

     

    What all other things are missing. What other dependent files/folders do I need copy on MMC Card.

     

     

     

  • Hi,

     

    The message: Error: Failed to open codec engine decode

     

    it likely you don't have the DSP blobs (x64P files) in the same directory of the decode demo. The interface have never worked for me neither, but that's not an issue, I'm doing my stuff with gstreamer ;)

     

    Diego Dompe

    RidgeRun Engineering

  • Hi Diego,

    Still decode is not working

    1. when I am giving phy_start=0x85800000 to phy_end=0x86800000 then running audio app is giving following error

    [root@OMAP3EVM decode]# ./decode -a davincieffect.mp3
    Decode demo started.
    Version mismatch between GPP and DSP-side
        GPP-side version    [1.51]:
        DSP-side version    [1.51.00.08]:
    Error: Failed to open codec engine decode
    Version mismatch between GPP and DSP-side
        GPP-side version    [1.51]:
        DSP-side version    [1.51.00.08]:
    Error: Failed to open codec engine decode
    [root@OMAP3EVM decode]#

    and then ./app.out is giving the following error

    [root@OMAP3EVM evm3530]# ./app.out
    App-> Application started.
    Configuration error: Exceeded maximum number [31] of Translation  Look-aside Buffers.
    @0x00031a69:[T:0x40964490] OP - Processor_create_d> Loading and starting DSP server 'video_copy.x64P' FAILED, status=[0x8000
    @0x00031bd7:[T:0x40964490] OP - Processor_delete_d> Closing remote transport FAILED, status=0x80008002.
    @0x00031c14:[T:0x40964490] OP - Processor_delete_d> Stopping DSP FAILED, status=0x80008002
    @0x00031c32:[T:0x40964490] OP - Processor_delete_d> Closing pool FAILED, status=0x80008000
    @0x00031c51:[T:0x40964490] OP - Processor_delete_d> Detaching from DSP FAILED, status=0x80008000
    @0x00035fe8:[T:0x4001cfb0] CE - rserverOpen: can't start 'video_copy.x64P'; Processor_create failed
    CEapp-> ERROR: can't open engine video_copy
    App-> Application FAILED.
    [root@OMAP3EVM evm3530]#

     

    However when I am using phy_start=0x85800000 to phy_end 0x86000000 to load cmemk.ko then ./app.out is encoding and decoding in.dat file to out.dat file successfully.

    but decode alone is not working and giving the following error for audio and video

    [root@OMAP3EVM decode]# ./decode -a davincieffect.mp3
    Decode demo started.
    Configuration error: Exceeded maximum number [31] of Translation  Look-aside Buffers.
    Error: Failed to open codec engine decode
    Configuration error: Exceeded maximum number [31] of Translation  Look-aside Buffers.
    Error: Failed to open codec engine decode
    [root@OMAP3EVM decode]#

    [root@OMAP3EVM decode]# ./decode -v davincieffect_ntsc_1.264
    Decode demo started.
    Configuration error: Exceeded maximum number [31] of Translation  Look-aside Buffers.
    Error: Failed to open codec engine decode
    decode: page allocation failure. order:10, mode:0xd1
    [<c002f314>] (dump_stack+0x0/0x14) from [<c008c624>] (__alloc_pages+0x288/0x29c)
    [<c008c39c>] (__alloc_pages+0x0/0x29c) from [<c008c660>] (__get_free_pages+0x28/0x5c)
    [<c008c638>] (__get_free_pages+0x0/0x5c) from [<c01c1b14>] (omap35xvout_alloc_buffer+0x40/0xa0)
    [<c01c1ad4>] (omap35xvout_alloc_buffer+0x0/0xa0) from [<c01c1cc0>] (omap35x_buffer_setup+0xbc/0x280)
     r5:c3d15000 r4:c3d15000
    [<c01c1c04>] (omap35x_buffer_setup+0x0/0x280) from [<c01bee30>] (videobuf_reqbufs+0x124/0x1dc)
    [<c01bed0c>] (videobuf_reqbufs+0x0/0x1dc) from [<c01c315c>] (omap24xxvout_do_ioctl+0x844/0x153c)
     r7:c0977e38 r6:c3d15304 r5:c3d15000 r4:00000000
    [<c01c2918>] (omap24xxvout_do_ioctl+0x0/0x153c) from [<c01af15c>] (video_usercopy+0x1b8/0x2b8)
    [<c01aefa4>] (video_usercopy+0x0/0x2b8) from [<c01c3fb4>] (omap24xxvout_ioctl+0xdc/0xec)
    [<c01c3ed8>] (omap24xxvout_ioctl+0x0/0xec) from [<c00b2444>] (do_ioctl+0x68/0x78)
    [<c00b23dc>] (do_ioctl+0x0/0x78) from [<c00b26b4>] (vfs_ioctl+0x260/0x278)
     r5:413d4c24 r4:c5085c00
    [<c00b2454>] (vfs_ioctl+0x0/0x278) from [<c00b270c>] (sys_ioctl+0x40/0x64)
     r7:c5085c00 r6:c0145608 r5:413d4c24 r4:00000008
    [<c00b26cc>] (sys_ioctl+0x0/0x64) from [<c002ade0>] (ret_fast_syscall+0x0/0x2c)
     r7:00000036 r6:413d5680 r5:00000002 r4:00000002
    Mem-info:
    DMA per-cpu:
    CPU    0: Hot: hi:   18, btch:   3 usd:  13   Cold: hi:    6, btch:   1 usd:   5
    Active:2085 inactive:1740 dirty:0 writeback:4 unstable:0
     free:8597 slab:409 mapped:296 pagetables:23 bounce:0
    DMA free:34388kB min:1196kB low:1492kB high:1792kB active:8340kB inactive:6960kB present:89408kB pages_scanned:117 all_unrecolowmem_reserve[]: 0 0
    DMA: 33*4kB 42*8kB 40*16kB 2*32kB 3*64kB 0*128kB 1*256kB 8*512kB 14*1024kB 7*2048kB 0*4096kB 0*8192kB = 34388kB
    Swap cache: add 0, delete 0, find 0/0, race 0+0
    Free swap  = 0kB
    Total swap = 0kB
    Free swap:            0kB
    22528 pages of RAM
    11475 free pages
    6603 reserved pages
    409 slab pages
    492 pages shared
    0 pages swap cached

     

    Interface is working for me and displaying some buttons at different levels. I have copied the relavant files in data/ folder but when I am pressing S17 to play according to display then it is exits from the application. Since I changed the boot parameter to

    setenv bootargs_rd mem=88M console=ttyS0,115200n8  root=/dev/ram0 initrd=0x81600000,40M ramdisk_size=40960 video=omap24xxfb:rotation=90

    [root@OMAP3EVM interface]# ./interface -l 0
    Demo interface started at level 0.
    [root@OMAP3EVM interface]#

     

    I had run pwr_ondemand_gov_enable.sh as per instructed by dvsdk_3_00_00_21. How to run these application on OSD Display. How ro run encode and decode demo separately. How to play encoded or decoded file to the LCD display? Have you faced these problems whether DVSDK is proper or not?

     

    Regards,

    Vineet

     

     

     

  • Hi Vineet,

    I am not too familiar with OMAP software yet, but on our DaVinci platforms sometimes we got version mismatches when for example DSP server was built with one version of dsplink or cmem, and a different version of these modules was present in the OMAP file system where you are running the demos from.  For this reason, we always stressed to customers that they use all files from the same software release (can be easily overlooked when upgrading software).

     

  • Vineet said:
    [root@OMAP3EVM decode]# ./decode -a davincieffect.mp3
    Decode demo started.
    Version mismatch between GPP and DSP-side
        GPP-side version    [1.51]:
        DSP-side version    [1.51.00.08]:
    Error: Failed to open codec engine decode
    Version mismatch between GPP and DSP-side
        GPP-side version    [1.51]:
        DSP-side version    [1.51.00.08]:
    Error: Failed to open codec engine decode

    This issue is clearly a version mismatch between the version of Link built into the ARM side and the DSP side.  Looks like the ARM side is using the Link 1.51 GA release, while the DSP server was built with a pre-release version (1.51.00.08).

    Vineet said:
    [root@OMAP3EVM decode]# ./decode -a davincieffect.mp3
    Decode demo started.
    Configuration error: Exceeded maximum number [31] of Translation  Look-aside Buffers.
    Error: Failed to open codec engine decode
    Configuration error: Exceeded maximum number [31] of Translation  Look-aside Buffers.
    Error: Failed to open codec engine decode

    This issue is described in more detail here:

    http://wiki.davincidsp.com/index.php?title=OMAP3_DSP_MMU_Configuration

    Chris

  • Hi Chris,

     

    What you observed is absolutely right for version mismatch between GPP and dsp side. However I downloaded the new DVSDK_3_00_00_29 and used dsplinkk.ko from various folder but the issue is same. Will you please tell me how can I port the same dsplinkk.ko to gpp as well as dsp side or is there any other way to get rid of this problem. And how ./app.out is working without this error with the same dsplinkk.ko. ./app.out is encoding and decoding in.dat to out.dat. How to get rid of Version mismatch between GPP and DSP-side

    Some of the demos are required cmemk.ko to be loaded at different location, I dont know why?

     

     

    Regards,

    Vineet

  • Hi Vineet,

    Can you please tell me how did you boot ram. did you modify any thing to change system ram memory allocation.We got the same problem .

  • I configured NFS server to boot the filesystem on board and flashed the new kernel from SDK 1.0.2 . I was using all the files from DSVSK 3_00_00_29 Release

     

    Regards,

    Vineet