net: phy: micrel: Fix PTP_PF_PEROUT for lan8841
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Fri, 14 Apr 2023 08:26:59 +0000 (10:26 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Apr 2023 07:10:00 +0000 (08:10 +0100)
commitc6d6ef3ee3b6118dae6b32816e43c790f81079b2
treef20eb0c64d8dc26a58053cc601bb0a0533420ad3
parente61caf04b9f8a2626714ffd12e734c555c758af4
net: phy: micrel: Fix PTP_PF_PEROUT for lan8841

If the 1PPS output was enabled and then lan8841 was configured to be a
follower, then target clock which is used to generate the 1PPS was not
configure correctly. The problem was that for each adjustments of the
time, also the nanosecond part of the target clock was changed.
Therefore the initial nanosecond part of the target clock was changed.
The issue can be observed if both the leader and the follower are
generating 1PPS and see that their PPS are not aligned even if the time
is allined.
The fix consists of not modifying the nanosecond part of the target
clock when adjusting the time. In this way the 1PPS get also aligned.

Fixes: e4ed8ba08e3f ("net: phy: micrel: Add support for PTP_PF_PEROUT for lan8841")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/micrel.c