Hi,
I am trying to debug an error where ethernet packets seem to be getting dropped in the kernel before hitting the rx_handler.. (cpsw_rx_handler). Things are not always in a bad state, but when they are I can illustrate the problem by pinging the target repeatedly. At times, I have seen 15% of packets dropped. If i wait about a minute or two later, I can send another batch of pings and they'll all be fine. I am using PSP05.04.00.11. If anyone can help answer any of these questions I would greatly appreciate the help!
1) Where would be a good place to put a debug printk *before* cpsw_rx_handler gets called? Somewhere in davinci_cpdma?
2) In the __netif_receive_skb function, each packet that arrives is tested for the protocol and given to a handler for that type. What function gets called for packet type ETH_P_IP? (0x0800)
3) in the davinci_cpdma code, what is the source of the packet? Is it received directly from the hardware in the CPSW or is there some other stop?
4) The DMA is not happening when packets are dropped. Another PC on the same subnet is running wireshark and can confirm that the packets ARE valid and are there, yet the target doesn't seem to see them at all. What would be a good way to debug this?
Thank you for any help!