Hi all,


I am bringing up a linux ptp4l stack on a new timer IP.  Developed linux
PTP driver

and registered ptp_clock_info ops. This timer IP is used with xilinx axi
ethernet

MAC driver[1].



[1]:
https://github.com/Xilinx/linux-xlnx/blob/master/drivers/net/ethernet/xilinx/xilinx_axienet_main.c


## Timer driver

static struct ptp_clock_info xlnx_ptp_clock_info = {

        .owner          = THIS_MODULE,

        .name           = "Xilinx Timer",

        .max_adj        = 64000000,     /* Safe max adjustment for clock
rate */

        .n_ext_ts       = 0,

        .adjfine        = xlnx_ptp_adjfine,

        .adjtime        = xlnx_ptp_adjtime,

        .gettime64      = xlnx_ptp_gettime,

        .settime64      = xlnx_ptp_settime,

        .enable         = xlnx_ptp_enable,

}





On setup i am using a xilinx development and a peer 10G solarflare PTP
enabled NIC.

<xilinx> ./ptp4l -i eth0 -m -s

<x86> sudo ptp4l -i enp8s0f0 -m



In execution, we see that s2 servo state is locked, but master offset keep

on randomly drifting and path delay also increments.



ptp4l[4383.158]: selected /dev/ptp0 as PTP clock

ptp4l[4383.159]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[4383.159]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[4383.722]: port 1: new foreign master 000f53.fffe.5df6d0-1

ptp4l[4387.723]: selected best master clock 000f53.fffe.5df6d0

ptp4l[4387.723]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE

ptp4l[4389.732]: master offset     -53164 s0 freq    -161 path delay
796594

ptp4l[4390.733]: master offset     -54463 s1 freq   -1460 path delay
798058

ptp4l[4391.733]: master offset  646235836 s2 freq +64000000 path delay
798058

ptp4l[4391.733]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED

ptp4l[4392.733]: master offset  582239489 s2 freq +64000000 path delay
798058

ptp4l[4393.733]: master offset  518232623 s2 freq +64000000 path delay
799522

ptp4l[4394.733]: master offset  448773596 s2 freq +64000000 path delay
6251523

ptp4l[4395.733]: master offset  384768321 s2 freq +64000000 path delay
6251523

ptp4l[4396.733]: master offset  316756233 s2 freq +64000000 path delay
10257161

ptp4l[4397.733]: master offset  252750893 s2 freq +64000000 path delay
10257161

ptp4l[4398.733]: master offset  188742507 s2 freq +64000000 path delay
10257161

ptp4l[4399.733]: master offset  124014381 s2 freq +64000000 path delay
10980343

ptp4l[4400.733]: master offset   58816171 s2 freq +58814711 path delay
12170615

ptp4l[4401.733]: master offset      -3604 s2 freq +17639787 path delay
12170615

ptp4l[4402.734]: master offset  -17651648 s2 freq   -9338 path delay
12170615

ptp4l[4403.734]: master offset  -16921992 s2 freq -4575176 path delay
11447433

ptp4l[4404.734]: master offset   -9733286 s2 freq -2463068 path delay
8833635

ptp4l[4405.734]: master offset   -7269685 s2 freq -2919453 path delay
8833635

ptp4l[4406.734]: master offset    2034962 s2 freq +4204289 path delay
2448681

ptp4l[4407.734]: master offset    -339428 s2 freq +2440388 path delay
619614

ptp4l[4408.734]: master offset   -2780339 s2 freq -102352 path delay
619614

ptp4l[4409.734]: master offset   -2081579 s2 freq -237694 path delay
22823

ptp4l[4410.734]: master offset   -1843879 s2 freq -624467 path delay
22823

ptp4l[4411.734]: master offset   -1195631 s2 freq -529383 path delay
-965

ptp4l[4412.734]: master offset    -579920 s2 freq -272361 path delay
-87223

ptp4l[4413.734]: master offset    -307496 s2 freq -173913 path delay
-87223

ptp4l[4414.734]: master offset    -133554 s2 freq  -92220 path delay
-87223

ptp4l[4415.735]: master offset     -41315 s2 freq  -40047 path delay
-87223

ptp4l[4416.735]: master offset     -83155 s2 freq  -94282 path delay
-5320

ptp4l[4417.735]: master offset     -26825 s2 freq  -62898 path delay
32631

ptp4l[4418.735]: master offset      14971 s2 freq  -29150 path delay
53745

ptp4l[4419.735]: master offset      44127 s2 freq   +4498 path delay
53745

ptp4l[4420.735]: master offset      30279 s2 freq   +3888 path delay
63103

ptp4l[4421.735]: master offset      26390 s2 freq   +9082 path delay
63103

ptp4l[4422.735]: master offset       7912 s2 freq   -1479 path delay
72497

ptp4l[4423.735]: master offset       4382 s2 freq   -2635 path delay
77507

ptp4l[4424.735]: master offset       5687 s2 freq     -15 path delay
78843

ptp4l[4425.735]: master offset       3826 s2 freq    -170 path delay
80716

ptp4l[4426.735]: master offset      -1011 s2 freq   -3860 path delay
85725

ptp4l[4427.735]: master offset       1683 s2 freq   -1469 path delay
86888

ptp4l[4428.736]: master offset       1444 s2 freq   -1203 path delay
88601

ptp4l[4429.736]: master offset       -396 s2 freq   -2610 path delay
91642

ptp4l[4430.736]: master offset        830 s2 freq   -1503 path delay
93022

ptp4l[4431.736]: master offset       2335 s2 freq    +251 path delay
93022

ptp4l[4432.736]: master offset        984 s2 freq    -399 path delay
94122

ptp4l[4433.736]: master offset      -1269 s2 freq   -2357 path delay
96774

ptp4l[4434.736]: master offset      -1824 s2 freq   -3293 path delay
99686

ptp4l[4435.736]: master offset      -1273 s2 freq   -3289 path delay
102428

ptp4l[4436.736]: master offset       2015 s2 freq    -383 path delay
102428

ptp4l[4437.736]: master offset      -5199 s2 freq   -6992 path delay
110022

ptp4l[4438.736]: master offset       1797 s2 freq   -1556 path delay
110022

ptp4l[4439.736]: master offset       1005 s2 freq   -1809 path delay
112372

ptp4l[4440.737]: master offset       -182 s2 freq   -2694 path delay
115368

ptp4l[4441.737]: master offset      -1585 s2 freq   -4152 path delay
119467

ptp4l[4442.737]: master offset       -319 s2 freq   -3361 path delay
122348

ptp4l[4443.737]: master offset        386 s2 freq   -2752 path delay
125008

ptp4l[4444.737]: master offset       3135 s2 freq    +113 path delay
125008

ptp4l[4445.737]: master offset      -3353 s2 freq   -5435 path delay
131385

ptp4l[4446.737]: master offset       -511 s2 freq   -3599 path delay
133978

ptp4l[4447.737]: master offset        334 s2 freq   -2907 path delay
136733



- To isolate the issue - i commented out adjfine (to rule out any issues
with

period adjustment logic in timer IP) in the PTP driver. Then the path delay

keeps on incrementing.



root@xilinx-zcu216-es1-2020_2:~# ptp4l -i eth0 -m -s

ptp4l[555.918]: selected /dev/ptp0 as PTP clock

[ 555.977723] Skip ptp_adjfine :: 6666666666666

ptp4l[555.928]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[555.928]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[556.098]: port 1: new foreign master 000f53.fffe.0e9fb0-1

ptp4l[560.098]: selected best master clock 000f53.fffe.0e9fb0

ptp4l[560.098]: running in a temporal vortex

ptp4l[560.098]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE

ptp4l[562.133]: master offset -3133922938910257 s0 freq +0 path delay
1380002

ptp4l[563.137]: master offset -3133922938910503 s1 freq -246 path delay
1382020

ptp4l[564.138]: master offset 111943930729 s2 freq +64000000 path delay
1382020

ptp4l[564.138]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED

ptp4l[565.138]: master offset 111943932497 s2 freq +64000000 path delay
1382020

ptp4l[566.138]: master offset 111943934581 s2 freq +64000000 path delay
1381708

ptp4l[567.138]: master offset 111943937204 s2 freq +64000000 path delay
1380855

ptp4l[568.138]: master offset 111943939827 s2 freq +64000000 path delay
1380002

ptp4l[569.138]: master offset 111944623788 s2 freq +64000000 path delay
697812

ptp4l[570.138]: master offset 111945305114 s2 freq +64000000 path delay
18250

ptp4l[571.138]: master offset 111945306887 s2 freq +64000000 path delay
18250

ptp4l[572.138]: master offset 111945305948 s2 freq +64000000 path delay
20961

ptp4l[573.138]: master offset 111945307730 s2 freq +64000000 path delay
20961

ptp4l[574.138]: master offset 111945309504 s2 freq +64000000 path delay
20961

ptp4l[575.138]: master offset 111945311282 s2 freq +64000000 path delay
20961

ptp4l[576.138]: master offset 111945307801 s2 freq +64000000 path delay
26204

ptp4l[577.138]: master offset 111945305599 s2 freq +64000000 path delay
30176

ptp4l[578.139]: master offset 111945305691 s2 freq +64000000 path delay
31847



Any thoughts on how we can narrow down this PTP drift issue further?


Thanks,

Radhey
_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to