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.

SRIO LOOPBACK NWRITE and "Unavailable Outbound Credit"

Other Parts Discussed in Thread: TMS320C6457

Hi,

I have an EVM6457, which I've used for developing application which should utilize SRIO interface to communicate with external FPGA (Altera) hardware.

In order to understand better the SRIO concepts, I'm testing various examples, included in the EVM PDK.

One of them is srio_lsu_example, which send some data in internal loopback mode.

I slightly changed it, so now it send test data several times instead of doing this only once. By design, it operate NWRITE in 1x port mode and works fine. I can send unlimited number of data without any problems.

As we plan to use 4x port mode, so I changed register settings, as described  in TMS320C6457 DSP Serial RapidIO (SRIO) User's Guide (SPRUGK4D) document.

   pSetup->periCntlSetup.bufferMode = CSL_SRIO_1X_MODE_PRIORITY;

and

    pSetup->portIpModeSet = 0x0400003F;

After that changes, test application stop working properly. It is able to fulfill normally only 8 transfers after system reset. And then fail returning completion code CC=7 (Transaction complete, packet not sent due to unavailable outbound credit at given priority).

There are some discussions here about outbound credit issue, but I didn't find anything related my case. This situation is like all shadow buffers at some priority level are occupied, but interesting thing that data was really delivered to the Dsp destination address during first 8 successful attempts. And I didn't observe any error states in SP_ERR_DET register after each of first 8 transactions.

Is this related to the internal lookback mode only and shouldn't happens after connecting with real hardware, or there is something else, what I probably should take into account also?

Thank you

Regards.

Dmitry.