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.

TDA4VM: Error log "CpswCpts_ioctl: Eth TX event not found"

Part Number: TDA4VM

Tool/software: TDA4SW0804/pdk_08_04_00_21

hi Ti,

we found that when we send PTP messages, the following log errors occasionally occur: "CpswCpts_ioctl: Eth TX event not found (msgType=0, seqId=16, dom=0, portNum=1)";

This error log indicates that timestamp information could not be obtained when the message was sent, and this timestamp should have been added by cpsw.

Furthermore, we analyzed the cause of the error log,see the flowchart below:

(normal)   (abnormal)

When sending a message, the triggering time of the cpsw cpts interrupt is generally about 25us later than that of the DMA done interrupt.
However, when we get error log, the cpsw cpts interrupt was triggered about 115us later than the DMA done interrupt. This resulted in TimeSyncTxNotifyTask() (looking at the middle branch) being unable to retrieve timestamp information from the event pool. We have tested that CPSW will add timestamp information to the event pool later, but the query has already ended at this time.

Here's my test pitch, I obtained the above time information by adding the following print.

/cfs-file/__key/communityserver-discussions-components-files/791/stress_5F00_test_5F00_pitch.txt

By the way, I saw that there was no sleep or synchronization with the cpsw during the process from DMA done interrupt to getTimeStamp()/lookUpEventPoor(). How can we ensure that cpsw has added timestamp information to the event pool. If the timestamp added by cpsw is delayed by several tens of us, wouldn't lookUpEventPoor be unable to find it?

And, this is the remote_log where we obtained some CPSW interrupt triggers info using the stress_test pitch above.

Please provide some suggestions to help us further investigate this issue.

Thanks,