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.

AIF2 PKTDMA SOP Descriptor Starvation error

Hi all,

I try to connect FFTC directly to AIF2 for 20Mhz LTE 2 AxC CPRI downlink data transfer. for this purpose I've modified the AIF2 single tone example project. my application runs with slot_isr (0.5msec). and 2x14 symbol FFTC result is passed directly into AIF2 tx queues (qnum 512 for chan0, qnum 513 for chan1) on every 1msec.

however, AIF2 does not get the packets from queues. when i examine EE register set, I've realized PKTDMA SOP Descriptor Starvation error exists (EE CD Raw Status Register on address 0x01F04300). so i guess maybe AIF2 doesnt enjoy something about the packet in its tx queue. 

here is the start of first packet in queue for example; 

0x80102280  ---> mono desc word0

0x00000000  ---> mono desc word1

0x01010835  ---> mono desc word2

0x00008000  ---> mono desc word3 (ps word for AIF: egress/AxC num/symbol num)

0x0015FF88  ---> 1st word of FFTC result data  ( total len is (2048+160) words as expected)

I dont think there is an erronous thing in the descriptor data.


Can aynbody help for this issue? What is the meaning of SOP starvation err exactly?

Thanks in advance,

Cem

  • Hi,

    I think it is the problem of push timing. certain amount of packet should be pushed into the Tx queue before AIF2 activates LTE frame transfer. the first symbol should be in Tx queue at least one symbol time before LTE Rad frame boundary. if you lose this timing, AIF2 will set sop starvation error, then you need to wait one more frame and start pushing again from the symbol 0 before the next frame boundary.

    Please check if your push timing is  correct and also check aif_mono_mode was correctly set from the pktDMA.

    you can also check PS field in descriptors if AxC value and symbol number is correctly set (0,1,2,.... 139)

    Regards,

    Albert

  • Thanks for quick reply Albert..

    In AIF2 user guide it is said aif_mono_mode should be turned off for FFTC-AIF2 direct connection.

    "Note - It is possible for the FFTC to send output packets directly to the AIF2 without any DSP intervention. In that case, the AIF_MONO_MODE should be turned off and FFTC uses a descriptor size field of 16 bytes as normal mode, because FFTC can not set 64 bytes to DESC_SIZE field before pushing the descriptor into the AIF2 TX queue."


    I've already checked PS field values, they are all correctly inserted. 

    So i will try to be sure about push timing as you suggested.

    Cem