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.

Linux EDMA User guide and DSP Codec Server [ in codec-engine_3_21_00_13_eng] DMA conflict

Expert 2030 points

I am looking at TI81xx-PSP-EDMA-Driver-User-Guide in  ti-ezsdk_dm816x-evm_5_01_01_80 (page:3) 

 

This setting conflicts with "all_mc.cfg" DMAN3 parameters included in the codec engine server examples folder : ti-ezsdk_dm816x-evm_5_01_01_80/codec-engine_3_21_00_13_eng/examples/ti/sdo/ce/examples/servers/all_codecs

    DMAN3.paRamBaseIndex     = 80;  // 1st EDMA3 PaRAM set available for DMAN3

 

    DMAN3.numQdmaChannels    = 8;   // number of device's QDMA channels to use

    DMAN3.qdmaChannels       = [0,1,2,3,4,5,6,7]; // choice of QDMA channels        to use

    DMAN3.numPaRamEntries    = 48;  // number of PaRAM sets exclusively usedby DMAN

    DMAN3.numPaRamGroup[0]   = 48;  //number of PaRAM sets for scratch group 0

    DMAN3.numTccGroup[0]     = 32;  //number of TCCs assigned to scratch group 0

    DMAN3.tccAllocationMaskL = 0;   // bit mask indicating which TCCs 0..31                 //to use

    DMAN3.tccAllocationMaskH = 0xffffffff; // assign all TCCs 32..63 for DMAN

 

 

Items in red are immediately obvious. What else should be changed ?

 

RV

  • Sundaram said:
    Yes there is a EDMA resource conflict here. This will be fixed in the next release.

    Is it possible to work around this by programming the EDMA3 Low Level Driver?  Or is the problem that the DSP cannot get at the EDMA registers and/or the Param Set memory? According to the documentation, the LLD is suppose to support the TI816x devices.  Also, I'm confused over this as an associate of your claims to have gotten QDMA using the Framework to work on the C6A816x DSP:

    http://e2e.ti.com/support/embedded/f/355/t/114927.aspx?PageIndex=2

    Lee Holeva

     

  • RV said:
    The problem seems to be specific to ARM+DSP use. I don't know how easy it would be to modify linux side edma driver to reserve some of these EDMA  resources for the DSP. 

    I'm in the process of understanding this.  There are two instances of the EDMA driver, one running in Linux on the ARM and a second running on the DSP.  I have managed to get a bit of DSP-side EDMA3 code to build in EZSDK.  I'll see how far I can get with that and if that fails I'll then move over to the ARM-side and investigate rebuilding the Linux-side EDMA driver.  Platform support for both the ARM and the DSP appear to be included with the EDMA3 package and it has been updated to support the C6A8168.

    Lee Holeva