Re: [Linuxptp-users] Synchronization fault with stmmac
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Mohamed B. <mbe...@ad...> - 2014-03-20 17:03:27
|
Jake, > Out of curiosity where are you printing the value ppb? I am printing right at the beginning of stmmac_adjust_freq function (drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c). So the value should be clean. > > > > The driver implementation is not checking the max frequency adjustment... > > I still did some tests and strange enough there is a value change to > > -32,768,000 when passing ppb greater than 32,768,000. Also, the value > > saturates to -32,768,000 with ppb lesser than -32,768,000. > > So I am forced to use values between [-32,768,000 | 32,768,000]. I guess > > your test suggestion will pass once I get through this. > > > > Could you please shed some light on that? Is it something related with the > > kernel ptp clock driver? I did not find > > > > Your driver does have to fill in the maximum value to register to the > ptp core, and ptp core handles checking, but maybe there is a bug > regarding that in your kernel... It should be keeping the sign the same > when it clips the maximum value, however. > > It should be changing it to the max adjust, non negative. > > Look at your driver, where you set the max_adj field of ptp_caps. > It is correctly filled with 62,500,000 and I checked with testptp. So there is still some margin. I don't know if I am looking at the right location but I did not find any check on max_adj of ppb in drivers/ptp. Thanks, Mohamed |