Post by George Neville-NeilHi,
I am trying to determine why the hardware timestamping support table only lists PHC and not PHY
timestamping. Testing on a system with an Intel 82576 NIC, I was unable, even with a very recent kernel (3.10)
to get PHY level time stamping.
Hi George,
As you know, there are both MACs and PHYs on the market with hardware
time stamping and clock functionality. Linux supports both, but not at
the same time on the same port. Right now, the dp83640 is only PHY
driver in the kernel with time stamping and PHC supported.
[ Looking at the table, I see that it really doesn't tell you whether
the part in question is a MAC or PHY. This can be improved. ]
In order to allow PHY time stamping and PHC functions, the MAC driver
has to play along too, and not all MAC drivers can do this. So the
"PHY" column is really saying whether you can combine that MAC with a
PTP capable PHY or not. The PTP MACs all have "NA" (Not Applicable)
because you cannot have time stamping in both the MAC and the PHY.
Your card, the 82576, does support MAC time stamping and PHC
functions, at it should work in 3.10 kernel. But even if you combine
it with a PTP capable PHY (like the dp83640), the PHY time stamping
won't work.
Post by George Neville-NeilDo I need to build a custom kernel for this to work?
To support time stamping in the PHY, your kernel needs to have option
CONFIG_NETWORK_PHY_TIMESTAMPING enabled. Since this adds extra checks
into the hot path, probably no distro kernel will turn it on. So, yes,
you will have to recompile if you want PHY time stamping. (And you
will also need the dp83640 combined with a MAC in the table for which
PHY=Y.)
HTH,
Richard