diff mbox series

[net-next] net: phy: micrel: Fix PTP_PF_PEROUT for lan8841

Message ID 20230414082659.1321686-1-horatiu.vultur@microchip.com (mailing list archive)
State Accepted
Commit c6d6ef3ee3b6118dae6b32816e43c790f81079b2
Delegated to: Netdev Maintainers
Headers show
Series [net-next] net: phy: micrel: Fix PTP_PF_PEROUT for lan8841 | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 18 this patch: 18
netdev/cc_maintainers success CCed 9 of 9 maintainers
netdev/build_clang success Errors and warnings before: 18 this patch: 18
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 18 this patch: 18
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Horatiu Vultur April 14, 2023, 8:26 a.m. UTC
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>
---
 drivers/net/phy/micrel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

patchwork-bot+netdevbpf@kernel.org April 17, 2023, 7:20 a.m. UTC | #1
Hello:

This patch was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Fri, 14 Apr 2023 10:26:59 +0200 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next] net: phy: micrel: Fix PTP_PF_PEROUT for lan8841
    https://git.kernel.org/netdev/net-next/c/c6d6ef3ee3b6

You are awesome, thank you!
diff mbox series

Patch

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 3fee682603ef5..382144a6306f0 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -4025,7 +4025,7 @@  static int lan8841_ptp_update_target(struct kszphy_ptp_priv *ptp_priv,
 				     const struct timespec64 *ts)
 {
 	return lan8841_ptp_set_target(ptp_priv, LAN8841_EVENT_A,
-				      ts->tv_sec + LAN8841_BUFFER_TIME, ts->tv_nsec);
+				      ts->tv_sec + LAN8841_BUFFER_TIME, 0);
 }
 
 #define LAN8841_PTP_LTC_TARGET_RELOAD_SEC_HI(event)	((event) == LAN8841_EVENT_A ? 282 : 292)