Hi Vladimir, I read the link ( https://github.com/openil/linuxptp/issues/5#issuecomment-615979496) you have last mentioned, and it looks very interesting. Perhaps I'll try to be inspired from these ideas and implement them on my driver. I will keep you updated. Thank you all for the help.
Regards, Joseph On Tue, May 25, 2021 at 2:38 AM Vladimir Oltean <olte...@gmail.com> wrote: > Hi Joseph, > > On Mon, May 24, 2021 at 03:21:14PM -0700, Jacob Keller wrote: > > On 5/24/2021 2:06 AM, Joseph Matan wrote: > > > The kernel version I'm using (v4.19) doesn't support the gettimex > > > implementation, so I've added this patch: > > > More accurate PHC<->system clock synchronization > > > < > https://patchwork.ozlabs.org/project/netdev/cover/20181109101449.15398-1-mlich...@redhat.com/ > > (I > > > only took patches 1-4/8) > > > But this patch doesn't include my KSZ driver (patches 5-8/8 include > only > > > other drivers), so I had to add my own implementation to the KSZ driver > > > in order to support the PTP_SYS_OFFSET_EXTENDED ioctl. > > > Unfortunately, it didn't help, and I still suffer from huge delays and > > > offsets (I did verify the ptp4l is running the SYSOFF_METHOD method). > > > > > > Any other ideas or tips ? > > > > > > Thanks for the help, > > > Joseph > > > > Unfortunately no. That gettimex bits worked ok for Intel hardware > > because we have to read 2 (or 3) registers, and the time is locked by > > reading the lowest register. By using system time captures around that > > low register read we get a more accurate comparison. > > > > Unfortunately if this doesn't help your case, I am not sure what else > > would be worth trying. > > > > One possibility is to attempt to tune the servo parameters (The P and I > > constant values for the PI servo, for example). You might be able to > > find slightly better values that are less sensitive to the delay. It is > > likely this would take longer to converge but could produce a more > > smooth result at the end. > > > > You might also try one of the other servo algorithms such as linreg. > > > > Unfortunately if reading the clock time of your device has high jitter > > it will produce worse results. There's not much way around that. > > Some ideas on how MDIO accesses can be made faster and more predictable: > disable transmission of preamble, increase frequency, use polled I/O > for the MDIO controller (you probably already do, unless you use i.MX > devices which are the only ones handling interrupts in mdio_read/write). > Additionally, if you have some time to spend with the mainline Linux > kernel, you can pick up and resubmit some patches that propagate struct > ptp_system_timestamp into the MDIO controller and allow software > timestamps to be one order of magnitude more precise. > Some more details and links here: > https://github.com/openil/linuxptp/issues/5#issuecomment-615979496 >
_______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users