> -----Original Message----- > From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Sent: Saturday, January 6, 2024 8:50 PM > To: D, Lakshmi Sowjanya <lakshmi.sowjanya.d@xxxxxxxxx> > Cc: tglx@xxxxxxxxxxxxx; jstultz@xxxxxxxxxx; giometti@xxxxxxxxxxxx; > corbet@xxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; x86@xxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; linux-doc@xxxxxxxxxxxxxxx; intel-wired- > lan@xxxxxxxxxxxxxxxx; Dong, Eddie <eddie.dong@xxxxxxxxx>; Hall, Christopher S > <christopher.s.hall@xxxxxxxxx>; Brandeburg, Jesse > <jesse.brandeburg@xxxxxxxxx>; davem@xxxxxxxxxxxxx; > alexandre.torgue@xxxxxxxxxxx; joabreu@xxxxxxxxxxxx; > mcoquelin.stm32@xxxxxxxxx; perex@xxxxxxxx; linux-sound@xxxxxxxxxxxxxxx; > Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; N, Pandith > <pandith.n@xxxxxxxxx>; Sangannavar, Mallikarjunappa > <mallikarjunappa.sangannavar@xxxxxxxxx>; T R, Thejesh Reddy > <thejesh.reddy.t.r@xxxxxxxxx> > Subject: Re: [RFC PATCH v3 00/11] Add support for Intel PPS Generator > > On Wed, Jan 03, 2024 at 05:25:51PM +0530, lakshmi.sowjanya.d@xxxxxxxxx > wrote: > > From: Lakshmi Sowjanya D <lakshmi.sowjanya.d@xxxxxxxxx> > > > > The goal of the PPS(Pulse Per Second) hardware/software is to generate > > a signal from the system on a wire so that some third-party hardware > > can observe that signal and judge how close the system's time is to > > another system or piece of hardware. > > > > Existing methods (like parallel ports) require software to flip a bit > > at just the right time to create a PPS signal. Many things can prevent > > software from doing this precisely. This (Timed I/O) method is better > > because software only "arms" the hardware in advance and then depends > > on the hardware to "fire" and flip the signal at just the right time. > > > > To generate a PPS signal with this new hardware, the kernel wakes up > > twice a second, once for 1->0 edge and other for the 0->1 edge. It > > does this shortly (~10ms) before the actual change in the signal needs > > to be made. It computes the TSC value at which edge will happen, > > convert to a value hardware understands and program this value to Timed I/O > hardware. > > The actual edge transition happens without any further action from the > > kernel. > > > > The result here is a signal coming out of the system that is roughly > > 1,000 times more accurate than the old methods. If the system is > > heavily loaded, the difference in accuracy is larger in old methods. > > Facebook and Google are the customers that use this feature. > > > > Application Interface: > > The API to use Timed I/O is very simple. It is enabled and disabled by > > writing a '1' or '0' value to the sysfs enable attribute associated > > with the Timed I/O PPS device. Each Timed I/O pin is represented by a > > PPS device. When enabled, a pulse-per-second(PPS) synchronized with > > the system clock is continuously produced on the Timed I/O pin, > > otherwise it is pulled low. > > > > The Timed I/O signal on the motherboard is enabled in the BIOS setup. > > At some point you should announce v1 of the series. RFC is usually being > neglected by many (busy) maintainers. This patch series is dependent on https://lore.kernel.org/netdev/20231215220612.173603-2-peter.hilber@xxxxxxxxxxxxxxx/T/ which is RFC. Regards, Sowjanya > > -- > With Best Regards, > Andy Shevchenko >