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.

VPSS and VICP firmware memory map change for 1GB DDR

Hello TI,

I want to increase VPSS and VICP firmware memory.  Currently I have 1GB DDR.

So using mm_host_util binary I loaded mm_dm81xxbm.bin with default parameter then it is working correct.

Now I need more memory and i am not using LINUX_MEM_2. so I added 188MB + 302MB = 508MB to IPC_SR_FRAME_BUFFERS but not working it failed to start.

Please find following default and changed parameter. Please guide me to increase this size.  

Default parameter:

/* Segment 3 */

{

1, /* valid */
"IPC_SR_FRAME_BUFFERS", /* name */
0x0BC00000, /* size */
LDR_SEGMENT_TYPE_DYNAMIC_SHARED_HEAP, /* seg_type */
0, /* flags */
0xB3D00000, /* system_addr */
0xB3D00000, /* slave_virtual_addr */
1, /* master_core_id */
(1 << LDR_CORE_ID_VM3) | (1 << LDR_CORE_ID_DM3) | (1 << LDR_CORE_ID_A8),
/* core_id_mask */
(1 << LDR_CORE_ID_VM3) | (1 << LDR_CORE_ID_DM3), /* cache_enable_mask */
(1 << LDR_CORE_ID_VM3) | (1 << LDR_CORE_ID_DM3), /* cache_operation_mask
*/
2 /* shared_region_id */
},

Changed Parameter:

/* Segment 3 */

{

1, /* valid */
"IPC_SR_FRAME_BUFFERS", /* name */
0x1FC00000, /* size */
LDR_SEGMENT_TYPE_DYNAMIC_SHARED_HEAP, /* seg_type */
0, /* flags */
0x9FD00000, /* system_addr */
0x9FD00000, /* slave_virtual_addr */
1, /* master_core_id */
(1 << LDR_CORE_ID_VM3) | (1 << LDR_CORE_ID_DM3) | (1 << LDR_CORE_ID_A8),
/* core_id_mask */
(1 << LDR_CORE_ID_VM3) | (1 << LDR_CORE_ID_DM3), /* cache_enable_mask */
(1 << LDR_CORE_ID_VM3) | (1 << LDR_CORE_ID_DM3), /* cache_operation_mask 
*/
2 /* shared_region_id */
},

Thanks,

Jignesh Patel

 

  • Hello,

    You could check this user guide:
    processors.wiki.ti.com/.../EZSDK_Memory_Map

    BR
    Margarita
  • Hi Margarita, 

    Thanks for reply, 

    I am using same wiki to change memory map. As per instruction I have generated "mm_dm81xxbm.bin".

    Also I have done modification in application file "omx_05_02_00_46/src/ti/omx/memcfg/memtbl_cfg.h"

    After this change I compile omx application. Then copied "libtiomx.so" and generated application but still it is not working.

    Please let me know what I am missing ? 

    On Firmware load time I am getting following Assertion:

    SysLink version : 2.20.00.14
    SysLink module created on Date:Jun 2 2014 Time:13:23:41
    FIRMWARE: I2cInit will be done by M3
    FIRMWARE: memory map bin file: /opt/encoder814x/mm_dm81xxbm.bin
    FIRMWARE: isI2cInitRequiredOnM3: 1
    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
    Assertion at Line no: 452 in /opt/liveu-dev/ezsdk/ti-ezsdk_dm814x-evm_5_05_01_04/component-sources/syslink_2_20_00_14/packages/ti/syslink/util
    s/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/SharedRegionDrv.c: (status >= 0) : failed
    FIRMWARE: 1 start Successful
    Loading HDVPSS Firmware
    FIRMWARE: I2cInit will be done by M3
    FIRMWARE: memory map bin file: /opt/encoder814x/mm_dm81xxbm.bin
    FIRMWARE: isI2cInitRequiredOnM3: 1
    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
    FIRMWARE: 2 start Successful

    Thanks,

    Jignesh Patel

  • Hello Margarita,

    I see similar e2e post : e2e.ti.com/.../1111376

    This above post suggested to use new DSP firmware. In our use case we use DSP firmware for audio encoding.

    We have NDA signed Overlay code with ezsdk_dm814x-evm_5_05_01_04 but we do not see any source code for DSP firmware.

    Can you confirm that DSP firmware source code available with Overlay code or not ?

    If no then How we can increase memory of IPC_SR_FRAME_BUFFERS with DSP ?

    Kindly help us as soon as possible because this is very urgent issue.

    Thanks,
    Jignesh R Patel
  • Hello,

    When you rebuild the overlay package by using command:

    make -f Overlay.Makefile all

    as is described in Overlay user guide doc the DSP firmware will be rebuild as well.

    The new DPS firmware could be allocate in omx-ti81xx-.../bin/dm81xx/bin/ti-814x

    You should recompile the DSP firmware as well.
    You could try and let me know the result.

    BR
    Margarita
  • Hi Margarita,

    Thank you, I am able to find DSP firmware at path given by you.

    I copied new firmware to dm814x. So now if I start application without audio then it is working correct but with audio pipeline stuck.

    I verified my change with sys_top utility for video and it is correct.

    Following things I have changed.

    (1) IPC_FRAME_BUFFERS  address: 0xB3D00000 to 0x9FD00000; size : 0x0BC00000 to 0x1FC00000

    For above change I have done following things.

    (1)  Changed memtbl_cfg.h and compiled  and load application&library

    (2)  Compiled Overlay code and loaded all three firmware.

    (3)  Compiled mm_dm81xxbm.bin with above changes.

    (4)  Add vmalloc=700M entry at bootargs

    I checked MemSegmentDefinition.xs file but I do not see any field related to IPC_FRAME_BUFFERS. Please suggest me if any things needed to update here for this. I also see that IPC_FRAME_BUFFERS is for video only so This change should not affect DSP for audio processing.

    Following is error Log with audio enable in application:

    notify_shm_drv_sendevent failed! status = 0xfffffff2
    notify_send_event failed! status = 0xfffffff2
    notify_shm_drv_sendevent failed! status = 0xfffffff2
    notify_send_event failed! status = 0xfffffff2
    notify_shm_drv_sendevent failed! status = 0xfffffff2
    notify_send_event failed! status = 0xfffffff2

    Please suggest me if I am missing something for DSP.

    Thanks,

    Jignesh Patel 

  • Hi Margarita, 

    Adding more information about application debug with audio not working.

    Bootrags : console=ttyO0,115200n8 mem=256M vmalloc=700M noinitrd root=/dev/ram notifyk.vpssm3_sva=0xBF900000 earlyprintk

    I enable syslink log and it gives me some following error.

    OsalSemaphore_pend: Semaphore pend interrupted
    Handle [0xf1dd6000]

    OsalSemaphore_pend: Semaphore pend interrupted
    Handle [0xf1e5a000]

    OsalSemaphore_pend: Semaphore pend interrupted
    Handle [0xd1dbd000]

    OsalSemaphore_pend: Semaphore pend interrupted
    Handle [0xd1f89000]

    OsalSemaphore_pend: Semaphore pend interrupted
    Handle [0xd1fb3000]

    OsalSemaphore_pend: Semaphore pend interrupted
    Handle [0xd1ff5000]

    notify_shm_drv_sendevent failed! status = 0xfffffff2
    notify_send_event failed! status = 0xfffffff2
    *** IpcDrv_drvclose: failed to send terminate event
    Error [0xfffffff2] at Line no: 426 in file /opt/liveu-dev/ezsdk/ti-ezsdk_dm814x-evm_5_05_01_04/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c
    notify_shm_drv_sendevent failed! status = 0xfffffff2
    notify_send_event failed! status = 0xfffffff2
    *** IpcDrv_drvclose: failed to send terminate event
    Error [0xfffffff2] at Line no: 426 in file /opt/liveu-dev/ezsdk/ti-ezsdk_dm814x-evm_5_05_01_04/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c
    notify_shm_drv_sendevent failed! status = 0xfffffff2
    notify_send_event failed! status = 0xfffffff2
    *** IpcDrv_drvclose: failed to send terminate event
    Error [0xfffffff2] at Line no: 426 in file /opt/liveu-dev/ezsdk/ti-ezsdk_dm814x-evm_5_05_01_04/component-sources/syslink_2_20_00_14/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c

    Please let me know what i am missing ?

    Thanks,

    Jignesh Patel

  • Hello,

    Patel Jignesh said:
    (1) IPC_FRAME_BUFFERS  address: 0xB3D00000 to 0x9FD00000; size : 0x0BC00000 to 0x1FC00000

    Are you follow the memory map user guide step:

    Step 2.2: Change Location of Video Frame Buffers

    as it described.

    I would recommend you to check this section as well:

    H/W and S/W Limitations To Consider For Deciding Memory Map

    BR
    Margarita

  • Hi Margarita,

    To simplify the things in working application, I just replaced ezsdk_dm814x-evm_5_05_01_04's prebuilt DSP firmware image then I am getting same error that I had mention in above post.

    Also If I copy the DSP firmware which is generated by Overlay code that also result with same error.

    So Please confirm that Overlay DSP firmware is working with ezsdk_dm814x-evm_5_05_01_04 or not. Or I am missing something to compile DSP firmware.

    Thanks,
    Jignesh R Patel
  • Hello,

    The error that you mention seems connected with the syslink.

    notify_shm_drv_sendevent failed! status = 0xfffffff2

    linux-2.6.37-psp04.04.00.01/drivers/dsp/syslink/notify_shmdriver/notify_shm_drv.c

    I would recommend you :

    -You could try to rebuild the dsp firmware without any modification in memory map, code etc to check that it is working.

    -When you rebuild firmwares to rebuild the kernel modules as well, syslink, vpss etc.

    -Are you observe the same problem with the latest EZSDK 5.05.02?

    BR
    Margarita

  • Hello,

    You are seeing with error in case :
    -changed memory map;
    -firmwares HDVICP and HDVPSS are loaded successfully;
    -but the DSP firmware failed
    right?

    BR
    Margarita
  • Hello Margarita,

    I see this error without any change in memory map.

    So I am running default application (default memory map). Then I copy prebuilt DSP firmware or copy DSP firmware generated by Overlay code then I am see this issue. Also if I disable audio from application then only video working correct means with these new DSP firmware loaded.

    Thanks,

    Jignesh Patel

  • Hello,

    So even if you are using the prebuild DSP firmware in EZSDK or the rebuild the overlay package you are using the same?

    So you are loading the script:

    load-hd-firmware.sh

    Loading the DSP firmware with the firmware utility:
    firmware_loader 0 /usr/share/ti/ti-media-controller-utils/dm814x_c6xdsp.xe674 start

    Execute the audio demo in ezsdk:

    ./adec_snt_a8host_debug.xv5T –i sample.aac –o output.pcm –c aaclc -r 1 -s 48000

    with the default EZSDK, default bootargs and memory map you are seeing the error.

    Could you create a new SD card because this is working on my side with the default SDK?

    BR
    Margarita

  • Hello Margarita,

    Thanks for your help to resolve this issue. I really appreciate this help. 

    I checked my ezsdk and I found that it does not support AACLC encoding. Application that I was running require AACLC encoding support.

    So after integrating AACLC encoding in ezsdk everything works well with default memory map and updated memory map.

    Thanks,

    Jignesh R Patel

  • Hello,

    I am glad that  issue is resolved.
    Please close this thread.
    If you have a new issue(s)/question(s) open new topic.

    BR
    Margarita