summaryrefslogtreecommitdiffstats
path: root/drivers/pps
diff options
context:
space:
mode:
authorAlexander Gordeev <lasaine@lvk.cs.msu.su>2011-01-12 17:00:56 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-13 08:03:20 -0800
commit025b40abe715d638e60516a657d354e8560c1a85 (patch)
tree9320d3993c65c4eb56d3ab30337d590eb8c892fd /drivers/pps
parent12f9b1f9c11700893a7b453705d95b260d78f268 (diff)
downloadlinux-025b40abe715d638e60516a657d354e8560c1a85.tar.gz
linux-025b40abe715d638e60516a657d354e8560c1a85.tar.bz2
linux-025b40abe715d638e60516a657d354e8560c1a85.zip
ntp: add hardpps implementation
This commit adds hardpps() implementation based upon the original one from the NTPv4 reference kernel code from David Mills. However, it is highly optimized towards very fast syncronization and maximum stickness to PPS signal. The typical error is less then a microsecond. To make it sync faster I had to throw away exponential phase filter so that the full phase offset is corrected immediately. Then I also had to throw away median phase filter because it gives a bigger error itself if used without exponential filter. Maybe we will find an appropriate filtering scheme in the future but it's not necessary if the signal quality is ok. Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/pps')
-rw-r--r--drivers/pps/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pps/Kconfig b/drivers/pps/Kconfig
index 1afe4e03440f..0ad5ff38bfec 100644
--- a/drivers/pps/Kconfig
+++ b/drivers/pps/Kconfig
@@ -30,6 +30,15 @@ config PPS_DEBUG
messages to the system log. Select this if you are having a
problem with PPS support and want to see more of what is going on.
+config NTP_PPS
+ bool "PPS kernel consumer support"
+ depends on PPS && !NO_HZ
+ help
+ This option adds support for direct in-kernel time
+ syncronization using an external PPS signal.
+
+ It doesn't work on tickless systems at the moment.
+
source drivers/pps/clients/Kconfig
endmenu