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.

TDA2x EVE DMA (Scatter Gather)

Hi

I have seen quite a few scatter gather examples on TI EVE EDMA. As per my understating they all are implementing linked DMA transfer.  

My questions is then why EDMA 3  Driver API's are not used for EVE too for implementing Scatter Gather?

I would also like to know if I can use the EDMA param set 17 onwards for EVE for the link DMA transfer? (provided I have done no channel channel mapping).

Current Scatter gather examples are limited to the number of transfers as 16 since EDMA of EVE has 16 channels. If I can use the param set beyond 17 then i think i can do more transfers? Please validate my understanding.

Can you please provide me a reason as why EDMA 3 Driver doesn't provide an API to get a free param set without a channel no? This is quite useful for linked transfer as we can always use the unmapped params.

Regards

Abhishek

  • Hi Abhishek,

    EVE Libraries experts pinged for help here.

    Best regards
    Lucy
  • Hi Abhishek,

         Can you point to the examples you are referring here?

          EVE does support usage of EDMA3 LLD drivers which can replace the resource manager present inside EVE. But as EVE has dedicated EDMA3 IP inside it, hence we are using a simplistic resource manager to implement EDMA based transfer. This helps in avoiding EVE dependency on another component. 

      Coming back to scatter gather question, I am assuming you are referring to scatterGather EDMA utility present inside EVE Starterware. You are correct that this utility implements scatter gather DMA flow using linked transfer but it uses only single channel to do multiple transfers. Number of transfers can be equal to the number of free parameter set available. So Scatter gather transfer are not limited by number of channels present.

      I will check with the concern team regarding your last question and get back to you later.

    Regards,

    Anshu

  • Hi Abhishek,

       Following is the response which I got from our team here for your last question on EDMA3 API.

    "You can call EDMA3_DRV_requestChannel() API  with second parameter as “EDMA3_DRV_LINK_CHANNEL”. You can refer the linking example at <edma_install_dir>\examples\edma3_driver\src\dma_link_test.c

    Regards,

    Anshu