Messages in this thread | | | From | "N, Pandith" <> | Subject | RE: PPS functionality for Intel Timed I/O | Date | Fri, 6 Oct 2023 05:31:27 +0000 |
| |
Hi,
> -----Original Message----- > From: Rodolfo Giometti <giometti@enneenne.com> > Sent: Wednesday, February 15, 2023 1:16 PM > To: N, Pandith <pandith.n@intel.com> > Cc: linux-kernel@vger.kernel.org; Sangannavar, Mallikarjunappa > <mallikarjunappa.sangannavar@intel.com>; D, Lakshmi Sowjanya > <lakshmi.sowjanya.d@intel.com>; T R, Thejesh Reddy > <thejesh.reddy.t.r@intel.com>; Hall, Christopher S > <christopher.s.hall@intel.com>; Gross, Mark <mark.gross@intel.com> > Subject: Re: PPS functionality for Intel Timed I/O > > On 15/02/23 08:09, N, Pandith wrote: > > Hi Rodolfo, > > Hello. > > >> -----Original Message----- > >> From: Rodolfo Giometti <giometti@enneenne.com> > >> Sent: Monday, February 6, 2023 4:17 PM > >> To: N, Pandith <pandith.n@intel.com> > >> Cc: linux-kernel@vger.kernel.org; Sangannavar, Mallikarjunappa > >> <mallikarjunappa.sangannavar@intel.com>; D, Lakshmi Sowjanya > >> <lakshmi.sowjanya.d@intel.com>; T R, Thejesh Reddy > >> <thejesh.reddy.t.r@intel.com>; Hall, Christopher S > >> <christopher.s.hall@intel.com> > >> Subject: Re: PPS functionality for Intel Timed I/O > > [snip] > > >> Mmm... I'm not sure this is correct since PPS generators should > >> generate their pulses according to system clock and not according to > >> their internal clocks even if they are synced with the system clock. > >> > > Timed I/O and system time are both driven by the *same* hardware clock. > > Timed I/O is a high precision device (nanoseconds), able to output pulses. > > The driver gets the system time and schedules output at target_time in > > the future. > > OK, in this case it would be OK. Please put an appropriate note within the > generator's code and a detailed one within Documentation/driver-api/pps.rst. > > Regarding Documentation/driver-api/pps.rst let me suggest you to prose a > separate patch to rewrite the Generators section in such a way you easily can add > your solution at the end. A possible example is attached but feel free to rewrite it > according to your needs. > Ok, we are updating documentation as you have suggested as a separate patch. Can we use your "Signed-off-by" tag for attached patch.
We are adding Intel timed I/O documentation as a separate patch.
> > struct timespec64 current_time; > > current_time = ktime_get_real_ts64(¤t_time); > > > > target_time = current_time + offset_time; cycles = > > translate_system_time_to_clock_cycles(target_time); > > /* Translate function is developed as part of this driver development > > */ > > > > /* Schedule pulse at target_time */ > > write_timedio_reg(TIMEDIO_TRIGGER, cycles); > > > > The output always triggers with ~20 ns precision. > > It's not affected by system load or no need for drivers to disable interrupts for > longer durations. > > With this driver proposal, Intel Timed I/O as PPS generator will be useful in IoT > and server applications. > > Great! Please also add these notes to the final Documentation. > > Ciao, > > Rodolfo > > -- > GNU/Linux Solutions e-mail: giometti@enneenne.com > Linux Device Driver giometti@linux.it > Embedded Systems phone: +39 349 2432127 > UNIX programming skype: rodolfo.giometti
Regards, Pandith [unhandled content-type:application/octet-stream] | |