Commit a05d070a authored by Rahul Rameshbabu's avatar Rahul Rameshbabu Committed by David S. Miller

ptp: Clarify ptp_clock_info .adjphase expects an internal servo to be used

.adjphase expects a PHC to use an internal servo algorithm to correct the
provided phase offset target in the callback. Implementation of the
internal servo algorithm are defined by the individual devices.

Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarRahul Rameshbabu <rrameshbabu@nvidia.com>
Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 49310624
...@@ -73,6 +73,22 @@ Writing clock drivers ...@@ -73,6 +73,22 @@ Writing clock drivers
class driver, since the lock may also be needed by the clock class driver, since the lock may also be needed by the clock
driver's interrupt service routine. driver's interrupt service routine.
PTP hardware clock requirements for '.adjphase'
-----------------------------------------------
The 'struct ptp_clock_info' interface has a '.adjphase' function.
This function has a set of requirements from the PHC in order to be
implemented.
* The PHC implements a servo algorithm internally that is used to
correct the offset passed in the '.adjphase' call.
* When other PTP adjustment functions are called, the PHC servo
algorithm is disabled.
**NOTE:** '.adjphase' is not a simple time adjustment functionality
that 'jumps' the PHC clock time based on the provided offset. It
should correct the offset provided using an internal algorithm.
Supported hardware Supported hardware
================== ==================
......
...@@ -77,8 +77,10 @@ struct ptp_system_timestamp { ...@@ -77,8 +77,10 @@ struct ptp_system_timestamp {
* nominal frequency in parts per million, but with a * nominal frequency in parts per million, but with a
* 16 bit binary fractional field. * 16 bit binary fractional field.
* *
* @adjphase: Adjusts the phase offset of the hardware clock. * @adjphase: Indicates that the PHC should use an internal servo
* parameter delta: Desired change in nanoseconds. * algorithm to correct the provided phase offset.
* parameter delta: PHC servo phase adjustment target
* in nanoseconds.
* *
* @adjtime: Shifts the time of the hardware clock. * @adjtime: Shifts the time of the hardware clock.
* parameter delta: Desired change in nanoseconds. * parameter delta: Desired change in nanoseconds.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment