<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/pps, branch v2.6.38</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.38</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.38'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-03-05T01:53:38Z</updated>
<entry>
<title>pps: make pps_gen_parport depend on BROKEN</title>
<updated>2011-03-05T01:53:38Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-03-05T01:36:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=95b90afec301f050f72740e8696f7cce8a37db5a'/>
<id>urn:sha1:95b90afec301f050f72740e8696f7cce8a37db5a</id>
<content type='text'>
This driver causes hard lockups, when the active clock soure is jiffies.

The reason is that it loops with interrupts disabled waiting for a
timestamp to be reached by polling getnstimeofday().  Though with a
jiffies clocksource, when that code runs on the same CPU which is
responsible for updating jiffies, then we loop in circles for ever
simply because the timer interrupt cannot update jiffies.  So both UP
and SMP can be affected.

There is no easy fix for that problem so make it depend on BROKEN for
now.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Cc: Rodolfo Giometti &lt;giometti@linux.it&gt;
Cc: john stultz &lt;johnstul@us.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: initialize ts_real properly</title>
<updated>2011-02-25T23:07:37Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-02-25T22:44:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=99b0d365e5ade293c5fa25a9f1a49ac764656670'/>
<id>urn:sha1:99b0d365e5ade293c5fa25a9f1a49ac764656670</id>
<content type='text'>
Initialize ts_real.flags to fix compiler warning about possible
uninitialized use of this field.

Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Cc: john stultz &lt;johnstul@us.ibm.com&gt;
Cc: Rodolfo Giometti &lt;giometti@linux.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: claim parallel port exclusively</title>
<updated>2011-01-26T00:50:00Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-25T23:07:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4f542e3dd90a96ee0f8fcb8173cb4104f5f753e6'/>
<id>urn:sha1:4f542e3dd90a96ee0f8fcb8173cb4104f5f753e6</id>
<content type='text'>
Both pps_parport and pps_gen_parport are written in a way that they
can't share a port with any other driver.  This can result in locking up
the process that loads modules or even the whole kernel if the modules
are compiled in.  Use PARPORT_FLAG_EXCL to indicate this.

Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Cc: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps ktimer: remove noisy message</title>
<updated>2011-01-26T00:49:59Z</updated>
<author>
<name>Rodolfo Giometti</name>
<email>giometti@linux.it</email>
</author>
<published>2011-01-25T23:07:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a783ac4453405b579ab7732ba3c0efc07a4b7a61'/>
<id>urn:sha1:a783ac4453405b579ab7732ba3c0efc07a4b7a61</id>
<content type='text'>
Signed-off-by: Rodolfo Giometti &lt;giometti@linux.it&gt;
Reported-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: add parallel port PPS signal generator</title>
<updated>2011-01-13T16:03:21Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-13T01:01:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=563558b2c7350371551bf08348ac61be62200505'/>
<id>urn:sha1:563558b2c7350371551bf08348ac61be62200505</id>
<content type='text'>
Add PPS signal generator which utilizes STROBE pin of a parallel port to
send PPS signals.  It uses parport abstraction layer and hrtimers to
precisely control the signal.

Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Cc: Rodolfo Giometti &lt;giometti@linux.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: add parallel port PPS signal generator</title>
<updated>2011-01-13T16:03:21Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-13T01:00:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=46b402a0e5e4b4d81b11c32dfb2312bf5828ecb5'/>
<id>urn:sha1:46b402a0e5e4b4d81b11c32dfb2312bf5828ecb5</id>
<content type='text'>
Add PPS signal generator which utilizes STROBE pin of a parallel port to
send PPS signals.  It uses parport abstraction layer and hrtimers to
precisely control the signal.

[akpm@linux-foundation.org: fix build]
Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Acked-by: Rodolfo Giometti &lt;giometti@linux.it&gt;
Cc: john stultz &lt;johnstul@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: add parallel port PPS client</title>
<updated>2011-01-13T16:03:21Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-13T01:00:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a10203c691eac287664f531b149ddc23056c2f61'/>
<id>urn:sha1:a10203c691eac287664f531b149ddc23056c2f61</id>
<content type='text'>
Add parallel port PPS client.  It uses a standard method for capturing
timestamps for assert edge transitions: getting a timestamp soon after an
interrupt has happened.

This is not a very precise source of time information due to interrupt
handling delays.  However, timestamps for clear edge transitions are much
more precise because the interrupt handler continuously polls hardware
port until the transition is done.

Hardware port operations require only about 1us so the maximum error
should not exceed this value.  This was my primary goal when developing
this client.

Clear edge capture could be disabled using clear_wait parameter.

Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Acked-by: Rodolfo Giometti &lt;giometti@linux.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: add kernel consumer support</title>
<updated>2011-01-13T16:03:21Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-13T01:00:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=717c033669ed3ceaee8df57d4562fafcc1a6267a'/>
<id>urn:sha1:717c033669ed3ceaee8df57d4562fafcc1a6267a</id>
<content type='text'>
Add an optional feature of PPSAPI, kernel consumer support, which uses the
added hardpps() function.

Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Acked-by: Rodolfo Giometti &lt;giometti@linux.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ntp: add hardpps implementation</title>
<updated>2011-01-13T16:03:20Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-13T01:00:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=025b40abe715d638e60516a657d354e8560c1a85'/>
<id>urn:sha1:025b40abe715d638e60516a657d354e8560c1a85</id>
<content type='text'>
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 &lt;lasaine@lvk.cs.msu.su&gt;
Acked-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: Rodolfo Giometti &lt;giometti@enneenne.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pps: timestamp is always passed to dcd_change()</title>
<updated>2011-01-13T16:03:20Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>lasaine@lvk.cs.msu.su</email>
</author>
<published>2011-01-13T01:00:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=12f9b1f9c11700893a7b453705d95b260d78f268'/>
<id>urn:sha1:12f9b1f9c11700893a7b453705d95b260d78f268</id>
<content type='text'>
Remove the code that gatheres timestamp in pps_tty_dcd_change() in case
passed ts parameter is NULL because it never happens in the current code.
Fix comments as well.

Signed-off-by: Alexander Gordeev &lt;lasaine@lvk.cs.msu.su&gt;
Acked-by: Rodolfo Giometti &lt;giometti@linux.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
