From: Greg KH <gregkh@linuxfoundation.org>
To: Rodolfo Giometti <giometti@enneenne.com>
Cc: subramanian.mohan@intel.com, tglx@linutronix.de, corbet@lwn.net,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
andriy.shevchenko@linux.intel.com, eddie.dong@intel.com,
christopher.s.hall@intel.com, pandith.n@intel.com,
thejesh.reddy.t.r@intel.com, david.zage@intel.com,
srinivasan.chinnadurai@intel.com
Subject: Re: [PATCH v12 2/3] Documentation: driver-api: pps: Add Intel Timed I/O PPS generator
Date: Tue, 3 Sep 2024 12:25:24 +0200 [thread overview]
Message-ID: <2024090304-viewing-lavish-c05e@gregkh> (raw)
In-Reply-To: <801c7a93-667b-4c23-9493-4cbe979847a2@enneenne.com>
On Tue, Aug 27, 2024 at 03:09:15PM +0200, Rodolfo Giometti wrote:
> On 24/08/24 04:21, Greg KH wrote:
> > On Fri, Aug 23, 2024 at 12:31:07PM +0530, subramanian.mohan@intel.com wrote:
> > > From: Subramanian Mohan <subramanian.mohan@intel.com>
> > >
> > > Add Intel Timed I/O PPS usage instructions.
> > >
> > > Co-developed-by: Pandith N <pandith.n@intel.com>
> > > Signed-off-by: Pandith N <pandith.n@intel.com>
> > > Signed-off-by: Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>
> > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > Acked-by: Rodolfo Giometti <giometti@enneenne.com>
> > > Signed-off-by: Subramanian Mohan <subramanian.mohan@intel.com>
> > > ---
> > > Documentation/driver-api/pps.rst | 24 ++++++++++++++++++++++++
> > > 1 file changed, 24 insertions(+)
> > >
> > > diff --git a/Documentation/driver-api/pps.rst b/Documentation/driver-api/pps.rst
> > > index 78dded03e5d8..75f7b094f963 100644
> > > --- a/Documentation/driver-api/pps.rst
> > > +++ b/Documentation/driver-api/pps.rst
> > > @@ -246,3 +246,27 @@ delay between assert and clear edge as small as possible to reduce system
> > > latencies. But if it is too small slave won't be able to capture clear edge
> > > transition. The default of 30us should be good enough in most situations.
> > > The delay can be selected using 'delay' pps_gen_parport module parameter.
> > > +
> > > +
> > > +Intel Timed I/O PPS signal generator
> > > +------------------------------------
> > > +
> > > +Intel Timed I/O is a high precision device, present on 2019 and newer Intel
> > > +CPUs, that can generate PPS signals.
> > > +
> > > +Timed I/O and system time are both driven by same hardware clock. The signal
> > > +is generated with a precision of ~20 nanoseconds. The generated PPS signal
> > > +is used to synchronize an external device with system clock. For example,
> > > +it can be used to share your clock with a device that receives PPS signal,
> > > +generated by Timed I/O device. There are dedicated Timed I/O pins to deliver
> > > +the PPS signal to an external device.
> > > +
> > > +Usage of Intel Timed I/O as PPS generator:
> > > +
> > > +Start generating PPS signal::
> > > +
> > > + $echo 1 > /sys/devices/platform/INTCxxxx\:00/enable
> > > +
> > > +Stop generating PPS signal::
> > > +
> > > + $echo 0 > /sys/devices/platform/INTCxxxx\:00/enable
> >
> > As I mentioned on the sysfs documentation, why isn't this just a generic
> > pps class attribute instead? Why did you make it
> > only-this-one-special-driver type of thing?
>
> This is an Original Sin when PPS generators were introduced. :-(
>
> In 2011 a patch from Alexander Gordeev <lasaine@lvk.cs.msu.su> (which
> introduced the "parallel port PPS signal generator") was committed in the
> main kernel.
>
> At the time it was something exotic and doing a PPS generator interface for
> it was not considered (since it actually has no controlling inputs), but now
> several Ethernet cards have such PPS generator functionalities, and they are
> enabled in a per-driver way or via the PTP API.
>
> This code is a pure PPS generator and it cannot use any other way to enable
> such functionality than the one above since the PPS layer misses a proper
> implementation for PPS generator.
>
> If you are willing to stop the inclusion due this fact maybe its time to add
> such PPS generators interface... on the other hand, if you agree for
> inclusion we can do this job as soon as the code has been included, in order
> to fix this anomalous status.
Please make a generic pps subsystem for this, it would make it simpler
for everyone.
thanks,
greg k-h
next prev parent reply other threads:[~2024-09-03 10:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-23 7:01 [PATCH v12 0/3] Add support for Intel PPS Generator subramanian.mohan
2024-08-23 7:01 ` [PATCH v12 1/3] pps: generators: Add PPS Generator TIO Driver subramanian.mohan
2024-08-23 14:22 ` Andy Shevchenko
2024-08-23 7:01 ` [PATCH v12 2/3] Documentation: driver-api: pps: Add Intel Timed I/O PPS generator subramanian.mohan
2024-08-24 2:21 ` Greg KH
2024-08-27 13:09 ` Rodolfo Giometti
2024-09-03 10:25 ` Greg KH [this message]
2024-09-25 21:55 ` Hall, Christopher S
2024-09-26 8:46 ` Rodolfo Giometti
2024-09-26 9:34 ` Greg KH
2024-08-23 7:01 ` [PATCH v12 3/3] ABI: pps: Add ABI documentation for Intel TIO subramanian.mohan
2024-08-23 14:24 ` Andy Shevchenko
2024-08-24 2:20 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024090304-viewing-lavish-c05e@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=christopher.s.hall@intel.com \
--cc=corbet@lwn.net \
--cc=david.zage@intel.com \
--cc=eddie.dong@intel.com \
--cc=giometti@enneenne.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pandith.n@intel.com \
--cc=srinivasan.chinnadurai@intel.com \
--cc=subramanian.mohan@intel.com \
--cc=tglx@linutronix.de \
--cc=thejesh.reddy.t.r@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).