pps/ptp: Allow PHC devices to adjust PPS events for known delay
Initial version by Stuart Hodgson <smhodgson@solarflare.com> Some PHC device drivers may deliver PPS events with a significant and variable delay, but still be able to measure precisely what that delay is. Add a pps_sub_ts() function for subtracting a delay from the timestamp(s) in a PPS event, and a PTP event type (PTP_CLOCK_PPSUSR) for which the caller provides a complete PPS event. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#ifndef _PTP_CLOCK_KERNEL_H_
|
||||
#define _PTP_CLOCK_KERNEL_H_
|
||||
|
||||
#include <linux/pps_kernel.h>
|
||||
#include <linux/ptp_clock.h>
|
||||
|
||||
|
||||
@@ -110,6 +111,7 @@ enum ptp_clock_events {
|
||||
PTP_CLOCK_ALARM,
|
||||
PTP_CLOCK_EXTTS,
|
||||
PTP_CLOCK_PPS,
|
||||
PTP_CLOCK_PPSUSR,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -117,13 +119,17 @@ enum ptp_clock_events {
|
||||
*
|
||||
* @type: One of the ptp_clock_events enumeration values.
|
||||
* @index: Identifies the source of the event.
|
||||
* @timestamp: When the event occured.
|
||||
* @timestamp: When the event occurred (%PTP_CLOCK_EXTTS only).
|
||||
* @pps_times: When the event occurred (%PTP_CLOCK_PPSUSR only).
|
||||
*/
|
||||
|
||||
struct ptp_clock_event {
|
||||
int type;
|
||||
int index;
|
||||
u64 timestamp;
|
||||
union {
|
||||
u64 timestamp;
|
||||
struct pps_event_time pps_times;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user