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.

CPPI DMA SOP Starvation

Other Parts Discussed in Thread: TMS320DM8148

Hi,
Can anyone please explain me why rx_sop_starvation condition occurs? In the documentation it says "0 rx_sop_starvation Interrupt enable when queue manager cannot allocate an Rx buffer at the start of a packet." This explanation is not sufficient. Why do I get this event and how can I avoid it. I have a 512 byte rx that ends with this bit set even though previously in my code(driver for a proprietary rtos) there were numerous successful 512 bytes rx transactions using CPPI DMA. Thanks.
 
Regards,
Mughees Ahmed Chohan
  • Also I push descriptors in the submit queue prior to enabling DMA..

  • Hi Mughees,

    Are you using DM814x device? Are you using EZSDK 5.05.02.00 / PSP 04.04.00.01?

    For more information regarding USB CDMA QM, you can refer to:

    DM814x TRM, chapter 25 USB, section 25.8 DMA

    http://processors.wiki.ti.com/index.php/DM81xx_AM38XX_USB_User_Guide

    http://processors.wiki.ti.com/index.php/Usbgeneralpage

    Regards,
    Pavel

  • Hi Pavel,

    Thanks a lot for your reply. Actually I have developed a driver for a RTOS(cannot disclose the name). I have developed a USB function driver. I have also added CPPI DMA support in it and it works good enough BUT fails under the following scenario:

    " Our testing infrastructure makes a mass storage device of DM814xevm board, connects it to a testing PC, writes a 60KB file to it, makes a cpu DVFS transition to a lower operating point, again writes a 60 KB file, again makes a transiton to another lower operating and repeats this process forever. The write test fails(not always) when the cpu freq goes below 300MHZ. DPLL_L3 is at 200MHZ always. It is a random behaviour and it only occurs at operating points  lower than 300 MHZ. Is there any minimum requirement of CPU freq for CPPI dma to work. If I disable CPPI DMA than the test never fails. The clock structure is quite tricky so any suggestions?".

    Awaiting your reply. Thank You.

  • Mughees,

    Cortex-A8 ARM at 300MHz and below corresponds to OPP50. And OPP50 does not support all CORE peripherals (for example, EMAC GMII/RGMII, USB2.0, PCIe, SD-DAC, SATA). Thus OPP50 is not supported.

    Please refer to the DM814x datasheet, section 7.2.2.1 Dynamic Voltage Frequency Scaling (DVFS)

    http://www.ti.com/lit/ds/symlink/tms320dm8148.pdf

    Best regards,
    Pavel

  • Hmmm, Thanks a lot Pavel. I should reconsider my reading skills. Thanks, thats good enough! :-)