]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'PHC-freq-fine-tuning'
authorDavid S. Miller <davem@davemloft.net>
Thu, 10 Nov 2016 02:20:01 +0000 (21:20 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Nov 2016 02:20:01 +0000 (21:20 -0500)
commit5f64d21d40f188f45dfafb26e892839e126c3b5a
tree51ea5a0c4efcccf7549a221241ef37a6d84329af
parent7af5c80466179ec18b0df801f6b260ee2d29f976
parent34df1887132f0633d4b0fca3719fc245fb231686
Merge branch 'PHC-freq-fine-tuning'

Richard Cochran says:

====================
PHC frequency fine tuning

This series expands the PTP Hardware Clock subsystem by adding a
method that passes the frequency tuning word to the the drivers
without dropping the low order bits.  Keeping those bits is useful for
drivers whose frequency resolution is higher than 1 ppb.

The appended script (below) runs a simple demonstration of the
improvement.  This test needs two Intel i210 PCIe cards installed in
the same PC, with their SDP0 pins connected by copper wire.  Measuring
the estimated offset (from the ptp4l servo) and the true offset (from
the PPS) over one hour yields the following statistics.

|        |   Est. Before |    Est. After |   True Before |    True After |
|--------+---------------+---------------+---------------+---------------|
| min    | -5.200000e+01 | -1.600000e+01 | -3.100000e+01 | -1.000000e+00 |
| max    | +5.700000e+01 | +2.500000e+01 | +8.500000e+01 | +4.000000e+01 |
| pk-pk: | +1.090000e+02 | +4.100000e+01 | +1.160000e+02 | +4.100000e+01 |
| mean   | +6.472222e-02 | +1.277778e-02 | +2.422083e+01 | +1.826083e+01 |
| stddev | +1.158006e+01 | +4.581982e+00 | +1.207708e+01 | +4.981435e+00 |

Here the numbers in units of nanoseconds, and the ~20 nanosecond PPS
offset is due to input/output delays on the i210's external interface
logic.

With the series applied, both the peak to peak error and the standard
deviation improve by a factor of more than two.  These two graphs show
the improvement nicely.

  http://linuxptp.sourceforge.net/fine-tuning/fine-est.png

  http://linuxptp.sourceforge.net/fine-tuning/fine-tru.png
====================

Signed-off-by: David S. Miller <davem@davemloft.net>