> - take a second "post" system timestamp after the completion
For this hardware, completion is an interrupt, which has a lot of jitter on it. But this hardware is odd, in that it uses an interrupt. Every other MDIO bus controller uses polled IO, with an mdelay(10) or similar between each poll. So the jitter is going to be much larger. Even though the FEC is special with its interrupt completion, i would like to see the solution being reasonably generic so that others can copy it into other MDIO bus drivers. That is what is nice about taking the time stamp around the write which triggers the bus transaction. It is independent of interrupt or polled, and should mean about the same thing for different vendors hardware. Andrew