1. Everyone who knows KeyStone I Navigator module, Descriptors detailed release and recovery process, not found in the manual.
2. Environment: C6678 or C6670 platform, The Network driver of the bare machine.
Data sending process description: CPU pop out of a Descriptors in the sending complete queue,After the Descriptors is filled,Push Descriptors into the send queue,Start PktDMA,PktDMA will send the data in the queue to transport to the net peripherals, the net peripherals send data out.When Descriptors is pushed into the sending queue,Program through the TXGOODFRAMES register to determine the success of the transmission.The number of Descriptors is 32.
Problem description: When the data sent successfully completed,The number of Descriptors in the send complete queue is less than 32.It indicates that the descriptor is not successful recovery in time.This will cause the next time when data is sent,the number of Descriptors popped from the sending complete queue is less than the number of Descriptors required for this send.This phenomenon has the occasional,Most of the time after the completion of the transmission, Descriptors are normally recycled,Sometimes the above situation occurs.
Debug program fragment:
Thanks!