ptp: remember the adjusted frequency
This patch adds a field to the representation of a PTP hardware clock in order to remember the frequency adjustment value dialed by the user. Adding this field will let us answer queries in the manner of adjtimex in a follow on patch. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
717ecc276d
commit
39a8cbd9ca
|
@ -147,6 +147,7 @@ static int ptp_clock_adjtime(struct posix_clock *pc, struct timex *tx)
|
||||||
} else if (tx->modes & ADJ_FREQUENCY) {
|
} else if (tx->modes & ADJ_FREQUENCY) {
|
||||||
|
|
||||||
err = ops->adjfreq(ops, scaled_ppm_to_ppb(tx->freq));
|
err = ops->adjfreq(ops, scaled_ppm_to_ppb(tx->freq));
|
||||||
|
ptp->dialed_frequency = tx->freq;
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
|
@ -45,6 +45,7 @@ struct ptp_clock {
|
||||||
dev_t devid;
|
dev_t devid;
|
||||||
int index; /* index into clocks.map */
|
int index; /* index into clocks.map */
|
||||||
struct pps_device *pps_source;
|
struct pps_device *pps_source;
|
||||||
|
long dialed_frequency; /* remembers the frequency adjustment */
|
||||||
struct timestamp_event_queue tsevq; /* simple fifo for time stamps */
|
struct timestamp_event_queue tsevq; /* simple fifo for time stamps */
|
||||||
struct mutex tsevq_mux; /* one process at a time reading the fifo */
|
struct mutex tsevq_mux; /* one process at a time reading the fifo */
|
||||||
wait_queue_head_t tsev_wq;
|
wait_queue_head_t tsev_wq;
|
||||||
|
|
Reference in New Issue