[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BYAPR11MB32405694C3C9A1DE083EA673E1C9A@BYAPR11MB3240.namprd11.prod.outlook.com>
Date: Fri, 6 Oct 2023 05:31:27 +0000
From: "N, Pandith" <pandith.n@...el.com>
To: Rodolfo Giometti <giometti@...eenne.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Sangannavar, Mallikarjunappa"
<mallikarjunappa.sangannavar@...el.com>,
"D, Lakshmi Sowjanya" <lakshmi.sowjanya.d@...el.com>,
"T R, Thejesh Reddy" <thejesh.reddy.t.r@...el.com>,
"Hall, Christopher S" <christopher.s.hall@...el.com>,
"Gross, Mark" <mark.gross@...el.com>,
"andriy.shevchenko@...ux.intel.com"
<andriy.shevchenko@...ux.intel.com>
Subject: RE: PPS functionality for Intel Timed I/O
Hi,
> -----Original Message-----
> From: Rodolfo Giometti <giometti@...eenne.com>
> Sent: Wednesday, February 15, 2023 1:16 PM
> To: N, Pandith <pandith.n@...el.com>
> Cc: linux-kernel@...r.kernel.org; Sangannavar, Mallikarjunappa
> <mallikarjunappa.sangannavar@...el.com>; D, Lakshmi Sowjanya
> <lakshmi.sowjanya.d@...el.com>; T R, Thejesh Reddy
> <thejesh.reddy.t.r@...el.com>; Hall, Christopher S
> <christopher.s.hall@...el.com>; Gross, Mark <mark.gross@...el.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@...eenne.com>
> >> Sent: Monday, February 6, 2023 4:17 PM
> >> To: N, Pandith <pandith.n@...el.com>
> >> Cc: linux-kernel@...r.kernel.org; Sangannavar, Mallikarjunappa
> >> <mallikarjunappa.sangannavar@...el.com>; D, Lakshmi Sowjanya
> >> <lakshmi.sowjanya.d@...el.com>; T R, Thejesh Reddy
> >> <thejesh.reddy.t.r@...el.com>; Hall, Christopher S
> >> <christopher.s.hall@...el.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@...eenne.com
> Linux Device Driver giometti@...ux.it
> Embedded Systems phone: +39 349 2432127
> UNIX programming skype: rodolfo.giometti
Regards,
Pandith
Download attachment "0001-Documentation-driver-api-pps-Update-PPS-generator-do.patch" of type "application/octet-stream" (1739 bytes)
Powered by blists - more mailing lists