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.

TMDSEVM6678: EDMA3 LLD request second QDMA channel failed with -133

Part Number: TMDSEVM6678
Other Parts Discussed in Thread: TMS320C6678

Hello, I'm testing EDMA3 LLD ,my environment is as follow:

CCS: V5.5

Complier: V7.4.4

EDMA3 LLD : 2_12_01_24

I import the sample project in the edma3 lld package, and I build success, then I want to
test how to request two QDMA channels , then I just adds some code bellow the original code:

qChId1 = EDMA3_DRV _QDMA_CHANNEL_ANY;

qTcc1 = EDMA3_DRV_TCC_ANY;

if(result == EDMA3_DRV_SOK){
result = EDMA3_DRV_requestChannel(hEdma,&qChId,&qTcc1,(EDMA3_RM_EventQueue)
0,&callback1,NULL);

}
the code added is
qChId2 = EDMA3_DRV _QDMA_CHANNEL_ANY;

qTcc2 = EDMA3_DRV_TCC_ANY;

if(result == EDMA3_DRV_SOK){
result = EDMA3_DRV_requestChannel(hEdma,&qChId,&qTcc1,(EDMA3_RM_EventQueue)
0,&callback1,NULL);

}
then I rebuild the project, and it success, but after I run the second EDMA3_DRV_requestChannel function ,the result it returned is "-133",and I found the error code means "The requested QDMA Channel not available", does my method that request two or more QDMA channels right, if it is not right, how can I request two more channels, waitting for your help, thank you!

  • Hello, I have found the answer in the following web,
    e2e.ti.com/.../7022, and I will try this method ,thank you
  • I didn't try the answer above, and I found the files for this version edma3 lld is under "D:\ti\edma3_lld_2_12_01_24\packages\ti\sdo\edma3\drv\sample\src\platforms" in sample_c6678_cfg.c,the related code is as follow:

     

    EDMA3_RM_InstanceInitConfig sampleInstInitConfig[NUM_EDMA3_INSTANCES][EDMA3_MAX_REGIONS] =
     {
      /* EDMA3 INSTANCE# 0 */
      {
       /* Resources owned/reserved by region 0 */
       {
        /* ownPaRAMSets */
        /* 31     0     63    32     95    64     127   96 */
        {0x3FFF0003u, 0x00000000u, 0x00000000u, 0x00000000u,
        /* 159  128     191  160     223  192     255  224 */
         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
        /* 287  256     319  288     351  320     383  352 */
         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
        /* 415  384     447  416     479  448     511  480 */
         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u},

        /* ownDmaChannels */
        /* 31     0     63    32 */
        {0x00000003u, 0x00000000u},

        /* ownQdmaChannels */
        /* 31     0 */
        {0x00000001u},

        /* ownTccs */
        /* 31     0     63    32 */
        {0x00000003u, 0x00000000u},

        /* resvdPaRAMSets */
        /* 31     0     63    32     95    64     127   96 */
        {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
        /* 159  128     191  160     223  192     255  224 */
         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
        /* 287  256     319  288     351  320     383  352 */
         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
        /* 415  384     447  416     479  448     511  480 */
         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},

        /* resvdDmaChannels */
        /* 31     0     63    32 */
        {0x00000000u, 0x00000000u},

        /* resvdQdmaChannels */
        /* 31     0 */
        {0x00000000u},

        /* resvdTccs */
        /* 31     0     63    32 */
        {0x00000000u, 0x00000000u},
       },

    ....

     if I try the solution above , I should rebuild the edma3 lld package, and I don't know how to rebuild it .

    I have another question, why the sample code didn't  support multiple QDMA channels, as the above code highlight with red color?

    how can I edit the code to enable edma3 instance 0,1,2 to support multiple QDMA channels , and how to rebuild the edma3 lld library?

  • Hi,

    I've notified the design team. Feedback will be posted here.

    Best Regards,
    Yordan
  • I assume this question was already answered by the e2e posting  

    TMS320C6678: Why did the edma3 lld own only one QDMA channels  ( https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/562832/2061557)

    I close this thread

    Ran