Using Linux 4.8-rc3 we have some trouble with fec ethernet on our imx6 board. Our driver instrumentation in fec_main.c shows that sporadically the BD_ENET_RX_EMPTY bit in the current receive buffer descriptor state word is kept set in case of a receive interrupt. On the next frame receptions the next buffer descriptors are updated correctly. After a few seconds the BD_ENET_RX_EMPTY bit disappears and the driver continues frame rx processing.
Also, for txing frames, BD_ENET_TX_READY is kept set but the frame is on wire. I think this is the cause for the kernel warning "NETDEV WATCHDOG: eth0 (fec): transmit queue 0 timed".
Any help would be greatly appreciated.
Hallo Klaus, which imx6 SoC you are observing this with? I'd like test here to see if we can reproduce.
Regards
Sinan Akman
Hello Sinan,
we observe that problem with an i.MX6D integrated on a DFI FS700 board. The SoC marking is
MCIMX6D5EYM10AC
SBDQ1350
KOREA ZXDQSBG
We did not observe the problem with an i.MX6 Solo.
Our test application is simple:
Every 5 ms a UDP frame is sent to the i.MX6D device. The direct response of the i.MX5D device is a UDP Frame also. The UDP frames used have a length of 64 bytes. There is no other ethernet traffic and no special CPU load, the system is almost idle.
Thank you for your help.
Regards
Klaus
Hi Klaus, I will try to test 4.8 on a sabre quad and see if we can reproduce.
If it does come up on sabre it will be easier to debug.
Regards
Sinan Akman
Hello,
It makes sense suggest to post the issue on linux mail list, since NXP does not officially
support 4.8 kernel. Supported BSPs are located on official web product page
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------