Hi All,
I am using IMX6 custom board and latest yocto BSP from freescale. In our code we applied the IMX6 pause frame patches (http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/140114.html )
But i observed that the functions and code never called. Please let me know if anything i need to do for enabling the pause frame.
I tried to set the pause from ethtool. I got the following error
root@lec-imx6:~# ethtool -A eth0 rx on
fec 2188000.ethernet eth0: hardware only support enable/disable both tx and rx
Cannot set device pause parameters: Invalid argument
Thanks,
P.Ashok
Hello Ashok,
The patch that you mention it is for the Errata of the i.MX6 this made the pauses in the Ethernet to avoid the FIFO overruns, but I believe you are trying to implement iEE1588 Pauses which are completely different story.
This patch will cause compatibility problems with some switches. It should be possible to control their use manually or through autonegotiation (if the medium
supports that).
You should:
1. Implement the ethtool get_pauseparam and set_pauseparam operations.
If the medium supports autoneog, use mii_advertise_flowctrl() in
set_pauseparam to update pause frame advertising and then restart
autoneg.
2. Allow pause frame advertising to be changed through set_settings (I
think phylib covers this for you).
3. Program the MAC according to the the parameters set with
set_pauseparam or (if pause autoneg was enabled) the result of autoneg.