From: Rahul Rameshbabu <rrameshbabu@nvidia.com>
To: Saeed Mahameed <saeedm@nvidia.com>,
Leon Romanovsky <leon@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Richard Cochran <richardcochran@gmail.com>,
Rahul Rameshbabu <rrameshbabu@nvidia.com>,
Jacob Keller <jacob.e.keller@intel.com>,
Aya Levin <ayal@nvidia.com>, Gal Pressman <gal@nvidia.com>
Cc: netdev@vger.kernel.org
Subject: [PATCH net-next 0/2] ptp: Introduce .getfine callback to ptp_clock_info
Date: Fri, 2 Dec 2022 12:15:27 -0800 [thread overview]
Message-ID: <20221202201528.26634-1-rrameshbabu@nvidia.com> (raw)
The current state of the ptp driver provides the ability to query the frequency
of the ptp clock device by caching the frequency values used in previous
adjustments done through the ptp driver. This works great when the ptp driver is
the only means for changing the clock frequency. However, some devices support
ways to adjust the frequency outside the ptp driver stack. When this occurs, the
ptp cached value is inaccurate. Also, if the device for some reason does not
start with a frequency of zero, the initial frequency queried before the first
frequency adjustment would be inaccurate.
The changes proposed enable a callback that various drivers can implement to
provide the frequency, in units of scaled ppm, of the ptp clock. When the
callback is implemented, it will be called to provide the frequency value
instead of the cached dialed_frequency value.
There are cases in linuxptp usage where the caching of the frequency has proven
to be inadequate. One example was the case where concurrent ptp4l processes
adjust frequency, but the cached frequency values in the ptp4l processes are
stale. Permitting implementers the ability to provide the frequency would
resolve issues involving stale frequency values due to changes occurring outside
the ptp driver stack.
https://sourceforge.net/p/linuxptp/mailman/message/37720193/
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Rahul Rameshbabu (2):
ptp: Add .getfine function to support reporting frequency offset from
hardware
net/mlx5: Implement ptp_clock_info .getfine function
.../ethernet/mellanox/mlx5/core/lib/clock.c | 35 +++++++++++++++++++
drivers/ptp/ptp_clock.c | 18 +++++++++-
include/linux/ptp_clock_kernel.h | 6 ++++
3 files changed, 58 insertions(+), 1 deletion(-)
--
2.36.2
next reply other threads:[~2022-12-02 20:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-02 20:15 Rahul Rameshbabu [this message]
2022-12-02 20:15 ` [PATCH net-next 1/2] ptp: Add .getfine function to support reporting frequency offset from hardware Rahul Rameshbabu
2022-12-02 20:15 ` [PATCH net-next 2/2] net/mlx5: Implement ptp_clock_info .getfine function Rahul Rameshbabu
2022-12-03 10:06 ` kernel test robot
2022-12-03 11:06 ` kernel test robot
2022-12-02 20:45 ` [PATCH net-next 0/2] ptp: Introduce .getfine callback to ptp_clock_info Richard Cochran
2022-12-02 22:11 ` Jacob Keller
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=20221202201528.26634-1-rrameshbabu@nvidia.com \
--to=rrameshbabu@nvidia.com \
--cc=ayal@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=jacob.e.keller@intel.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=saeedm@nvidia.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).