Part Number: PRU-ICSS-INDUSTRIAL-SW
Dear support,
related to the previous conversation (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1185462/pru-icss-industrial-sw-am4379---ti-rtos---prp-red-rx-issue/4668796?tisearch=e2e-sitesearch&keymatch=AM4378%20-%20PRP%20Red%20Rx%20issue#4668796) and patch send over email, we are facing issues.
1.) We still see a lot of packet retransmissions.
2.) PTP does not work. It gets UTC but does not calculate peer delay. We didn't manage to investigate what exactly happen.
3.) A bug related to broken data in the queue still exists. In the function, RedRxPktGet, the value of the "queue_wr_ptr = qDesc->wr_ptr;" variable sometimes becomes "4" which leads to a wrong reading.
I test the function with the dynamical watchpoint on queue_wr_ptr variable, just to be sure that there is no accident writing to a variable. I add code for testing if queue_wr_ptr == 4 and add a breakpoint inside. When breakpoint hits/queue_wr_ptr == 4 checking the value of qDesc->wr_ptr, it seemed to be some reasonable value but queue_wr_ptr is 4. It doesn't seem that any stack overflow or accidentally writing to queue_wr_ptr happened. Is seems like that after the breakpoint hits and before the debugger manages to read values, the value is corrected by PRU. Is possible that we observe collision when at the same time PRU is writing and A9 reading the same location?
This issue we tried to solve from December last year, and a lot of our post was ignored. I hope we can make some better progress on that topic.
Best regards, Mare
