[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181022224802.5injr523fgw2c4qz@localhost>
Date: Mon, 22 Oct 2018 15:48:02 -0700
From: Richard Cochran <richardcochran@...il.com>
To: Miroslav Lichvar <mlichvar@...hat.com>
Cc: netdev@...r.kernel.org,
"Keller, Jacob E" <jacob.e.keller@...el.com>
Subject: Re: Improving accuracy of PHC readings
On Fri, Oct 19, 2018 at 11:51:37AM +0200, Miroslav Lichvar wrote:
> A solution to this would be a new driver function that wraps the
> latching register read with readings of the system clock and return
> three timestamps instead of one. For example:
>
> ktime_get_real_ts64(&sys_ts1);
> IXGBE_READ_REG(hw, IXGBE_SYSTIMR);
> ktime_get_real_ts64(&sys_ts2);
> phc_ts.tv_nsec = IXGBE_READ_REG(hw, IXGBE_SYSTIML);
> phc_ts.tv_sec = IXGBE_READ_REG(hw, IXGBE_SYSTIMH);
Makes sense...
> The extra timestamp doesn't fit the API of the PTP_SYS_OFFSET ioctl,
> so it would need to shift the timestamp it returns by the missing
> intervals (assuming the frequency offset between the PHC and system
> clock is small), or a new ioctl could be introduced that would return
> all timestamps in an array looking like this:
>
> [sys, phc, sys, sys, phc, sys, ...]
How about a new ioctl with number of trials as input and single offset
as output?
Then it would be up to the driver to implement the device-specific
loop.
Thanks,
Richard
Powered by blists - more mailing lists