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.

Desktop Linux SDK EDMA resource use

Could the documentation of the Desktop Linux SDK contain information on which EDMA resources should be reserved for the SDK?

I see that EDMA3CC0 has been used for data transfer between the host and dsp.  I plan on using EDMA3CC1 for DMAs between on board locations which will be mastered by the dsp.  It would be useful to have documentation on which resources developers should not touch.  Perhaps the shadow registers can be used for permission setting?

  • The DMA resources used by the Host  pcie driver are configured init time by the host application.  See notes in sdk/pciedrv/pciedrv.h

    typedef struct _pciedrv_open_config_t {

    /* Driver uses DSP DMA to transfer data from and to DSP
       Some dma channels need to be reserved for use by host.
       The following parameters specifies the starting dma channel
       number and the number of dma channels reserved for host use */
       uint16_t start_dma_chan_num;
       uint16_t num_dma_channels;
    /* Some DMA param sets need to be reserved for use by host.
       The following parameters specifies the starting dma param sets
       and the number of param sets reserved for host use */
       uint16_t start_param_set_num;
       uint16_t num_param_sets;

    These parameters in the filetestdemo example are specified in demos/filetestdemo/inc/filetestdemo.h

    /* DMA resources to be reserved for Host usage */
    #define START_DMA_NUM 2
    #define START_PARAM_SET_NUM 0
    #define NUM_DMA_CHANNELS_FOR_HOST_DSP_XFERS 4
    #define NUM_PARAM_SETS 32

    I know there is no other documentation on this currently.  we will try to add  this information to the developer guide.