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.

MCSDK Video HEVC demo multi-chip and reset problems

Hello,

I am trying to run the H265 encoder demo in MCSDK Video but am running into a few problems.

I am using software versions:

Desktop Linux - 01.00.03.00

MCSDK Video - 2.2.0.45

I am using a DSPC-8681 card.

I have ran the following:

From Desktop Linux:
./install_grub.sh 1200 104
./install_cmem_autoload.sh
reboot

From MCSDK Video H265 Encode:
source setDemoEnv.sh
./init_dsp.sh 1250
./reset_dsp.sh 1250
./dnld_dsp.sh 4
./demoSave2File.sh

This works for me. I then edit the demoSave2File.sh so that it will run on 9 cores instead of 8. I get the following error when I run the script:

pciedrv: ERROR: pciedrv_bar_cfg: Size to be mapped to BAR is too large! (0x2000000 > 0x1000000)
[1441985065.080240044] (ERROR) device2deviceMapping() : Could only configure 0 out of 2 BAR registers.

I also get the following error sometimes when running the reset_dsp.sh script:

scripts$ ./reset_dsp.sh 1250
Num of devices 4

setPscState: dsp_id 0: Current transition in progress pid 2 mid 7 state: 0

setPscState: dsp_id 0: MD stat for pid 2 mid 7 expected state: 0 state: 10 timeout

setPDState: dsp_id 0: Previous transition in progress pid 2 state: 0

setPDState: dsp_id 0: Current transition in progress pid 2 state: 0

Iterations waited for entry point to clear 2
Dsp 0: DSP Reset success !

If I then try to run the reset script again after getting the above error I get the following error and the server hangs:

scripts$ ./reset_dsp.sh 1250
Num of devices 4
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_read: Setup Bar register fail

do_reg_read: ERROR Reading Address 2350a24
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_read: Setup Bar register fail

do_reg_read: ERROR Reading Address 2350308
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_read: Setup Bar register fail

do_reg_read: ERROR Reading Address 2350128
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_write: Setup Bar register fail

do_reg_write: ERROR Writing to Address 2350308
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_write: Setup Bar register fail

do_reg_write: ERROR Writing to Address 2350a24
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_read: Setup Bar register fail

do_reg_read: ERROR Reading Address 2350120
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1
pciedrv: Found: IB_BAR = FFFFFFFF, IB_OFFSET = FFFFFFFF.
pciedrv: Expected: IB_BAR = 00000001, IB_OFFSET = 02300000.
pciedrv: ERROR: pciedrv_dsp_write: Setup Bar register fail

do_reg_write: ERROR Writing to Address 2350120
pciedrv: Error in ti667x_ep_setup_bar, ib trans num 0!, ret = -1

Because of this, I am restarting the server anytime I get the first error in order to avoid the server hang.

What do I need to do to resolve these issues?

Regards,
Chris Johnson

  • Hi Chris Johnson

    1. For cmem allocation on Desktop Linux, can you please try with 900 MB reserved memory.
    ./install_grub.sh <memory to be reserved in MB> [consistent memory in MB]
    <memory to be reserved in MB> = 900
    If [consistent memory in MB] is not specified it will be set as 8 MB
    Please make sure that you are having more than 8GB of hard disk memory before doing cmem allocation.

    From Desktop Linux:

    ./install_grub.sh 900
    ./install_cmem_autoload.sh
    reboot

    2. For encoding video using mcsdk (./init_dsp.sh 1250) is not required as (reset_dsp.sh) invokes (init_dsp.sh)

    From MCSDK Video H265 Encode:

    source setDemoEnv.sh
    ./reset_dsp.sh 1250
    ./dnld_dsp.sh 4
    ./demoSave2File.sh

    Can you please try with these changes at Desktop Linux and in MCSDK.

    Thanks and Regards
    Palachandra M V
    www.pathpartnertech.com

  • Hi Chris could you please check also BAR region size of your boards (lspci –vv)? I faced an issue with one of my boards before which has a below settings:
    0e:00.0 Multimedia controller: Texas Instruments Device b005 (rev 01)
    Subsystem: Advantech Co. Ltd Device 8681
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort+ <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 5
    Region 0: Memory at f6100000 (32-bit, non-prefetchable) [size=4K]
    Region 1: Memory at e9c00000 (32-bit, prefetchable) [size=4M]
    Region 2: Memory at e9800000 (32-bit, prefetchable) [size=4M]
    Region 3: Memory at e9000000 (32-bit, prefetchable) [size=8M]
    Region 4: Memory at e8000000 (32-bit, prefetchable) [size=16M]
    And I had to increased to:
    04:00.0 Multimedia controller: Texas Instruments Device b005 (rev 01)
    Subsystem: Advantech Co. Ltd Device 8681
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort+ <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 10
    Region 0: Memory at f6900000 (32-bit, non-prefetchable) [size=4K]
    Region 1: Memory at e7000000 (32-bit, prefetchable) [size=16M]
    Region 2: Memory at e6000000 (32-bit, prefetchable) [size=16M]
    Region 3: Memory at e4000000 (32-bit, prefetchable) [size=32M]
    Region 4: Memory at e0000000 (32-bit, prefetchable) [size=64M]
    Capabilities: <access denied>Thank you,Paula
  • Palachandra,

    I tried your suggestion for the reserved memory size. I'm not sure if it's making any difference. I have more than 8 GB of hard disk space free.


    Paula,

    Thanks for that suggestion on the BAR window size. Increasing fixed the issue with running the HEVC Encoder on more than 1 chip.


    I am still seeing the intermittent issue when running the reset script.

    Regards,
    Chris
  • Hi Chris, I think your intermitent issue when running reset scripts is related to another thread (e2e.ti.com/.../1628814

    If it is OK to you I will mark previous reply as a "suggested answer"

    thank you,
    Paula

  • Paula,

    I am using a server with 64-bit Ubuntu 12.04 in this case. It is my understanding that the problem in the thread you linked does not exist in Ubuntu 12.04 even for 64-bit.

    Regards,
    Chris
  • Ah Ok Chris, sorry for my confusion ..And, yes, your are right it shouldn't be any problem with Ubuntu12.04.

    Are you still facing issues when running reset scripts in you 64-bit Ubuntu 12.04?

    Thank you,

    Paula

  • Paula,

    I was still facing the issue when I was last looking at this. I haven't been able to spend much time on it since I made the BAR window changes to get the demo working across multiple chips though.

    Regards,
    Chris
  • Chris, if it is OK to you I will close this thread and re-open it later if it is the case.

    thank you,

    Paula

  • Paula, 

    That works. This is a low priority item for us right now.

    Regards,
    Chris