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.

TDA2EXEVM: Multi channel capture create failed

Part Number: TDA2EXEVM
Other Parts Discussed in Thread: TVP5158

Hi,

I am using vision sdk version 2.12.  And below is my usecase, 

Capture -> Select -> VPE_HD -> Merge

Merge -> Encode -> IPCIn(A15) -> Nullsink (A15)

Select -> VPE_D1 -> Merge

One HD capture in "SYSTEM_CAPTURE_INST_VIP1_SLICE2_PORTA" and two CVBS capture in "SYSTEM_CAPTURE_INST_VIP1_SLICE1_PORTB".

The usecase is working fine with 3 channel capture. I enabled 2 more CVBS channels and it is giving the following error,

"[HOST] [IPU2 ] 64.176264 s: In VpsCore_vipPathCreateDesc() pathObj->numChannels = 1, pathObj->numStreams = 1

[HOST] [IPU2 ] 64.176477 s: 53071: Assertion @ Line: 1703 in hal/src/vpshal_vpdma.c: NULL != memPtr : failed !!!"

please suggest.

Regards,

Rajasekar M.

  • Hi Rajasekar,

    I have forwarded your question to an expert for comment.

    Regards,
    Yordan
  • Hi Rajasekar,

    It seems descriptor pointer is null, while trying to enable write descriptor..
    could you please tell what all VIP instances that you are trying to enable? can you tell for which VIP this is failing?
    May be you could try enabling them one by one and see which one is failing..

    Regards,
    Brijesh
  • Hi Brijesh,

    I am trying to enable two VIP instances. The details are given below,

    " [HOST] [IPU2 ] 64.029860 s: CAPTURE: Create in progress !!!
    [HOST] [IPU2 ] 64.030195 s: In CaptureLink_drvCreateInst() & pInstPrm->numCh = 4
    [HOST] [IPU2 ] 64.030378 s: CAPTURE: VIP1 Slice0 PortB capture mode is [ 8-bit] !!!
    [HOST] [IPU2 ] 64.031415 s: In VpsCore_vipPathCreateDesc() pathObj->numChannels = 4, pathObj->numStreams = 1
    [HOST] [IPU2 ] 64.031659 s: In CaptureLink_drvAllocAndQueueFrames()
    [HOST] [IPU2 ] 64.037546 s: CAPTURE: Frame 0: FVID2 CH 0: Link CH 0: 0x84203000, 0x84203000, 368640 B
    [HOST] [IPU2 ] 64.043524 s: CAPTURE: Frame 1: FVID2 CH 0: Link CH 0: 0x8425d000, 0x8425d000, 368640 B
    [HOST] [IPU2 ] 64.049472 s: CAPTURE: Frame 2: FVID2 CH 0: Link CH 0: 0x842b7000, 0x842b7000, 368640 B
    [HOST] [IPU2 ] 64.055450 s: CAPTURE: Frame 3: FVID2 CH 0: Link CH 0: 0x84311000, 0x84311000, 368640 B
    [HOST] [IPU2 ] 64.061398 s: CAPTURE: Frame 4: FVID2 CH 0: Link CH 0: 0x8436b000, 0x8436b000, 368640 B
    [HOST] [IPU2 ] 64.067376 s: CAPTURE: Frame 5: FVID2 CH 0: Link CH 0: 0x843c5000, 0x843c5000, 368640 B
    [HOST] [IPU2 ] 64.073415 s: CAPTURE: Frame 0: FVID2 CH 1: Link CH 1: 0x8441f000, 0x8441f000, 368640 B
    [HOST] [IPU2 ] 64.079393 s: CAPTURE: Frame 1: FVID2 CH 1: Link CH 1: 0x84479000, 0x84479000, 368640 B
    [HOST] [IPU2 ] 64.085341 s: CAPTURE: Frame 2: FVID2 CH 1: Link CH 1: 0x844d3000, 0x844d3000, 368640 B
    [HOST] [IPU2 ] 64.091319 s: CAPTURE: Frame 3: FVID2 CH 1: Link CH 1: 0x8452d000, 0x8452d000, 368640 B
    [HOST] [IPU2 ] 64.097297 s: CAPTURE: Frame 4: FVID2 CH 1: Link CH 1: 0x84587000, 0x84587000, 368640 B
    [HOST] [IPU2 ] 64.103275 s: CAPTURE: Frame 5: FVID2 CH 1: Link CH 1: 0x845e1000, 0x845e1000, 368640 B
    [HOST] [IPU2 ] 64.109284 s: CAPTURE: Frame 0: FVID2 CH 2: Link CH 2: 0x8463b000, 0x8463b000, 368640 B
    [HOST] [IPU2 ] 64.115262 s: CAPTURE: Frame 1: FVID2 CH 2: Link CH 2: 0x84695000, 0x84695000, 368640 B
    [HOST] [IPU2 ] 64.121179 s: CAPTURE: Frame 2: FVID2 CH 2: Link CH 2: 0x846ef000, 0x846ef000, 368640 B
    [HOST] [IPU2 ] 64.127157 s: CAPTURE: Frame 3: FVID2 CH 2: Link CH 2: 0x84749000, 0x84749000, 368640 B
    [HOST] [IPU2 ] 64.133105 s: CAPTURE: Frame 4: FVID2 CH 2: Link CH 2: 0x847a3000, 0x847a3000, 368640 B
    [HOST] [IPU2 ] 64.139083 s: CAPTURE: Frame 5: FVID2 CH 2: Link CH 2: 0x847fd000, 0x847fd000, 368640 B
    [HOST] [IPU2 ] 64.145122 s: CAPTURE: Frame 0: FVID2 CH 3: Link CH 3: 0x84857000, 0x84857000, 368640 B
    [HOST] [IPU2 ] 64.151101 s: CAPTURE: Frame 1: FVID2 CH 3: Link CH 3: 0x848b1000, 0x848b1000, 368640 B
    [HOST] [IPU2 ] 64.157079 s: CAPTURE: Frame 2: FVID2 CH 3: Link CH 3: 0x8490b000, 0x8490b000, 368640 B
    [HOST] [IPU2 ] 64.163026 s: CAPTURE: Frame 3: FVID2 CH 3: Link CH 3: 0x84965000, 0x84965000, 368640 B
    [HOST] [IPU2 ] 64.169005 s: CAPTURE: Frame 4: FVID2 CH 3: Link CH 3: 0x849bf000, 0x849bf000, 368640 B
    [HOST] [IPU2 ] 64.174983 s: CAPTURE: Frame 5: FVID2 CH 3: Link CH 3: 0x84a19000, 0x84a19000, 368640 B
    [HOST] [IPU2 ] 64.175288 s: In CaptureLink_drvCreateInst() & pInstPrm->numCh = 1
    [HOST] [IPU2 ] 64.175440 s: CAPTURE: VIP1 Slice1 PortA capture mode is [ 8-bit] !!!
    [HOST] [IPU2 ] 64.176264 s: In VpsCore_vipPathCreateDesc() pathObj->numChannels = 1, pathObj->numStreams = 1
    [HOST] [IPU2 ] 64.176477 s: 53071: Assertion @ Line: 1703 in hal/src/vpshal_vpdma.c: NULL != memPtr : failed !!!"

    The "VIP1 Slice1 PortA" is failing when I enable four channels in "VIP1 Slice0 PortB".
    But the same is working fine with two channels in "VIP1 Slice0 PortB"

    Please suggest.

    Regards,
    Rajasekar M.
  • Hi Rajesekhar,

    Could you please tell on what all ports you are enabling multi channel and on which channels are you enabling single channel? 

    I am thinking, may be the number of lists are running out and it is failing due to this. This depends on the number of channels you have enabled. so could you please share these details?

    Regards,

    Brijesh

  • Hi Brijesh,

    we are enabling "VIP1 Slice0 PortB" and "VIP1 Slice1 PortA". Multichannel capture from tvp5158 decoder through "VIP1 Slice0 PortB" and single capture from serializer through  "VIP1 Slice1 PortA"

    Regards,

    Rajasekar M

  • Hi Rajasekar,

    Can you put break point in VpsCore_vipPathResAlloc and check if descriptor memory (pathObj->descMem[chId]) is allocated correctly for all channels? and descriptor size (pathObj->descMemSize) is not too high?
    If this fails, we will need to descriptor pool size by increasing VPSCORE_VIP_MAX_DATA_DESC_COUNT macro value..

    Regards,
    Brijesh
  • Hi Brijesh,

    I checked "VpsCore_vipPathResAlloc" function and for "VIP1 Slice1 PortA" pathObj->descMem[chId] is 0.

    Here is the log,

     [HOST] [IPU2  ]     21.736899 s:  CAPTURE: Create in progress !!!
     [HOST] [IPU2  ]     21.737235 s: In CaptureLink_drvCreateInst() & pInstPrm->numCh = 4
     [HOST] [IPU2  ]     21.738455 s:  CAPTURE: VIP1 Slice0 PortB capture mode is [ 8-bit] !!!
     [HOST] [IPU2  ]     21.739248 s: In VpsCore_vipPathResAlloc() pathObj->numChannels = 4
     [HOST] [IPU2  ]     21.739461 s: In VpsCore_vipPathResAlloc() pathObj->descMem[0] = a035a7c0 pathObj->descMemSize = 192
     [HOST] [IPU2  ]     21.739675 s: In VpsCore_vipPathResAlloc() pathObj->descMem[1] = a035a880 pathObj->descMemSize = 192
     [HOST] [IPU2  ]     21.739858 s: In VpsCore_vipPathResAlloc() pathObj->descMem[2] = a035a940 pathObj->descMemSize = 192
     [HOST] [IPU2  ]     21.740041 s: In VpsCore_vipPathResAlloc() pathObj->descMem[3] = a035aa00 pathObj->descMemSize = 192
     [HOST] [IPU2  ]     21.740468 s: In VpsCore_vipPathCreateDesc() pathObj->numChannels = 4, pathObj->numStreams = 1
     [HOST] [IPU2  ]     21.740620 s: In VpsCore_vipPathCreateDesc() descAddr = a035a7c0
     [HOST] [IPU2  ]     21.740773 s: In VpsCore_vipPathCreateDesc() descAddr = a035a880
     [HOST] [IPU2  ]     21.740895 s: In VpsCore_vipPathCreateDesc() descAddr = a035a940
     [HOST] [IPU2  ]     21.741017 s: In VpsCore_vipPathCreateDesc() descAddr = a035aa00
     [HOST] [IPU2  ]     21.741322 s: In CaptureLink_drvAllocAndQueueFrames()
     [HOST] [IPU2  ]     21.747178 s:  CAPTURE: Frame 0: FVID2 CH 0: Link CH 0: 0x84203000, 0x84203000, 368640 B
     [HOST] [IPU2  ]     21.753156 s:  CAPTURE: Frame 1: FVID2 CH 0: Link CH 0: 0x8425d000, 0x8425d000, 368640 B
     [HOST] [IPU2  ]     21.759134 s:  CAPTURE: Frame 2: FVID2 CH 0: Link CH 0: 0x842b7000, 0x842b7000, 368640 B
     [HOST] [IPU2  ]     21.765082 s:  CAPTURE: Frame 3: FVID2 CH 0: Link CH 0: 0x84311000, 0x84311000, 368640 B
     [HOST] [IPU2  ]     21.771060 s:  CAPTURE: Frame 4: FVID2 CH 0: Link CH 0: 0x8436b000, 0x8436b000, 368640 B
     [HOST] [IPU2  ]     21.777038 s:  CAPTURE: Frame 5: FVID2 CH 0: Link CH 0: 0x843c5000, 0x843c5000, 368640 B
     [HOST] [IPU2  ]     21.783078 s:  CAPTURE: Frame 0: FVID2 CH 1: Link CH 1: 0x8441f000, 0x8441f000, 368640 B
     [HOST] [IPU2  ]     21.789025 s:  CAPTURE: Frame 1: FVID2 CH 1: Link CH 1: 0x84479000, 0x84479000, 368640 B
     [HOST] [IPU2  ]     21.795003 s:  CAPTURE: Frame 2: FVID2 CH 1: Link CH 1: 0x844d3000, 0x844d3000, 368640 B
     [HOST] [IPU2  ]     21.800982 s:  CAPTURE: Frame 3: FVID2 CH 1: Link CH 1: 0x8452d000, 0x8452d000, 368640 B
     [HOST] [IPU2  ]     21.806929 s:  CAPTURE: Frame 4: FVID2 CH 1: Link CH 1: 0x84587000, 0x84587000, 368640 B
     [HOST] [IPU2  ]     21.812907 s:  CAPTURE: Frame 5: FVID2 CH 1: Link CH 1: 0x845e1000, 0x845e1000, 368640 B
     [HOST] [IPU2  ]     21.818947 s:  CAPTURE: Frame 0: FVID2 CH 2: Link CH 2: 0x8463b000, 0x8463b000, 368640 B
     [HOST] [IPU2  ]     21.824894 s:  CAPTURE: Frame 1: FVID2 CH 2: Link CH 2: 0x84695000, 0x84695000, 368640 B
     [HOST] [IPU2  ]     21.830872 s:  CAPTURE: Frame 2: FVID2 CH 2: Link CH 2: 0x846ef000, 0x846ef000, 368640 B
     [HOST] [IPU2  ]     21.836820 s:  CAPTURE: Frame 3: FVID2 CH 2: Link CH 2: 0x84749000, 0x84749000, 368640 B
     [HOST] [IPU2  ]     21.842798 s:  CAPTURE: Frame 4: FVID2 CH 2: Link CH 2: 0x847a3000, 0x847a3000, 368640 B
     [HOST] [IPU2  ]     21.848776 s:  CAPTURE: Frame 5: FVID2 CH 2: Link CH 2: 0x847fd000, 0x847fd000, 368640 B
     [HOST] [IPU2  ]     21.854785 s:  CAPTURE: Frame 0: FVID2 CH 3: Link CH 3: 0x84857000, 0x84857000, 368640 B
     [HOST] [IPU2  ]     21.860763 s:  CAPTURE: Frame 1: FVID2 CH 3: Link CH 3: 0x848b1000, 0x848b1000, 368640 B
     [HOST] [IPU2  ]     21.866711 s:  CAPTURE: Frame 2: FVID2 CH 3: Link CH 3: 0x8490b000, 0x8490b000, 368640 B
     [HOST] [IPU2  ]     21.872689 s:  CAPTURE: Frame 3: FVID2 CH 3: Link CH 3: 0x84965000, 0x84965000, 368640 B
     [HOST] [IPU2  ]     21.878667 s:  CAPTURE: Frame 4: FVID2 CH 3: Link CH 3: 0x849bf000, 0x849bf000, 368640 B
     [HOST] [IPU2  ]     21.884615 s:  CAPTURE: Frame 5: FVID2 CH 3: Link CH 3: 0x84a19000, 0x84a19000, 368640 B
     [HOST] [IPU2  ]     21.884859 s: In CaptureLink_drvCreateInst() & pInstPrm->numCh = 1
     [HOST] [IPU2  ]     21.886048 s:  CAPTURE: VIP1 Slice1 PortA capture mode is [ 8-bit] !!!
     [HOST] [IPU2  ]     21.886811 s: In VpsCore_vipPathResAlloc() pathObj->numChannels = 1
     [HOST] [IPU2  ]     21.886963 s: In VpsCore_vipPathResAlloc() pathObj->descMem[0] = 0 pathObj->descMemSize = 192
     [HOST] [IPU2  ]     21.887299 s: In VpsCore_vipPathCreateDesc() pathObj->numChannels = 1, pathObj->numStreams = 1
     [HOST] [IPU2  ]     21.887482 s: In VpsCore_vipPathCreateDesc() descAddr = 0
     [HOST] [IPU2  ]     21.887634 s:  10950: Assertion @ Line: 1703 in hal/src/vpshal_vpdma.c: NULL != memPtr : failed !!!

    And I tried increasing the VPSCORE_VIP_MAX_DATA_DESC_COUNT value to 6. Still having the same problem

    Please suggest,

    Rajasekar M.

  • Hi Raja,

    oh sorry, instead of increasing value of VPSCORE_VIP_MAX_DATA_DESC_COUNT macro, can you try increasing value of VPSCORE_VIP_NUM_DATA_DESC_MAX macro?

    can you change this macro to

    #define VPSCORE_VIP_NUM_DATA_DESC_MAX ((VPS_CFG_MEM_VIP_MAX_INST_OBJS * \
    VPS_VIP_SLICE_MAX * VPS_VIP_PORT_MAX) + 2U)

    in the file ti_components\drivers\pdk_01_08_01_00\packages\ti\drv\vps\src\vpslib\captcore\src\vpscore_vip.c

    and see if it works.

    Regards,

    Brijesh

  • Hi Brijesh,

    Thanks a lot. It is working fine.

    Regards,

    Rajasekar M.