Subject: Re: [RFC PATCH 4/4] ixgbe: add support for extended PHC gettime

From: Miroslav Lichvar <[email-masked]>
Date: Mon, 29 Oct 2018 14:31:09 +0100

On Fri, Oct 26, 2018 at 04:54:57PM +0000, Keller, Jacob E wrote:
> > -----Original Message-----
> > From: Miroslav Lichvar [mailto:[email-masked]]
> > Sent: Friday, October 26, 2018 9:28 AM
> > To: [email-masked]
> > Cc: [email-masked]; Richard Cochran <[email-masked]>;
> > Keller, Jacob E <[email-masked]>; Miroslav Lichvar <[email-masked]>
> > Subject: [RFC PATCH 4/4] ixgbe: add support for extended PHC gettime
> > 
> > Cc: Richard Cochran <[email-masked]>
> > Cc: Jacob Keller <[email-masked]>
> > Signed-off-by: Miroslav Lichvar <[email-masked]>

> What about replacing gettime64 with:
> 
> static int ixgbe_ptp_gettimex(struct ptp_clock_info *ptp, struct timespec64 *ts)
> {
>     struct ptp_system_timestamp sts
>     
>     ixgbe_ptp_gettimex(ptp, &tst);
>     *ts = sts.phc_ts
> }

That will work, but it will be slower. With HPET as a clocksource
there would be few microseconds of an extra (symmetric) delay and the
applications would have to assume a larger maximum error.

I think there could be a flag in ptp_system_timestamp, or a parameter
of gettimex64(), which would enable/disable reading of the system
clock.

> Actually, could that even just be provided by the PTP core if gettime64 isn't implemented? This way new drivers only have to implement the new interface, and userspace will just get the old behavior if they use the old call?

Good idea.

Thanks,

-- 
Miroslav Lichvar