Hello
I am a beginner of learning how to perform the flow control in C6678 DSP. I want to know whether my understanding of document SRIO user guide correctly or not. So please correct me when you notice there is a wrong.
Suppose I have three DSPs A, B, and C with srcID: 0x01, 0x02, and 0x03, If A is sending data to B and C, to perform flow control in LSU 0 on DSP A, I need to write dstID 0x02 into register FLOW_CNTL0 and dstID 0x03 into FLOW_CNTL1 on DSP A. And also, write 0xFFFF to the 15:0 bits in RIO_LSU_FLOW_MASK0 register. If I do not want perform congestion control of the flow from DSP B to A. I need to write 0xFFFE instead 0xFFFF in RIO_LSU_FLOW_MASK0 register. Am I correct?
I have another three questions. For the Congestion Control Packets (CCPs), does DSP B and C generate it automatically, or I need to program for that?
Second, there is a 3-bit hardware counter to maintain a count of Xoff CCPs for each flow. For the DSP A, will they automatically count it, or I may program that?
Third, are the RIO_LSU_FLOW_MASK registers used as the enable/disable flow control to a specific flow?
Thanks in advance.
Xining