> -----Original Message-----
> From: Vladimir Oltean <olte...@gmail.com>
> Sent: Tuesday, July 07, 2020 9:08 AM
> To: Keller, Jacob E <jacob.e.kel...@intel.com>; richardcoch...@gmail.com
> Cc: linuxptp-devel@lists.sourceforge.net
> Subject: Re: [Linuxptp-devel] [PATCH] ts2phc_phc_master: specify start time to
> PPS master as 0.000000000
>
> What modification do you think should be done to the kernel ABI?
> This is what is currently in place:
>
> struct ptp_perout_request {
> struct ptp_clock_time start; /* Absolute start time. */
> struct ptp_clock_time period; /* Desired period, zero means disable. */
> unsigned int index; /* Which channel to configure. */
> unsigned int flags;
> unsigned int rsv[4]; /* Reserved for future use. */
> };
>
> Most interesting to me would be the "flags" field. The v2 of the ioctl
> can currently only have:
>
> #define PTP_PEROUT_ONE_SHOT (1<<0)
>
> Maybe something like this?
>
> #define PTP_PEROUT_RELATIVE_START_TIME (1<<1)
>
> with the meaning of 'just set up the clock generator to start ASAP (with
> an unspecified definition of ASAP) with this phase offset in
> nanoseconds, relative to 0 which corresponds to the closest integer
> multiple of the period in the PHC time base'.
>
> What would be the valid range of 'start' in the case where (flags &
> PTP_PEROUT_RELATIVE_START_TIME) is set?
>
What would start even be used for? We have a period already, and it sounds like
relative start wouldn't even use a start value?
> - Zero to $('period' - 1) nanoseconds, or
> - Zero to infinity, with a modulo performed by somebody (probably the
> PTP core)?
>
> Also, there's the question of what to do about the sysfs ABI. Currently
> you can't pass the flags through that:
>
> cnt = sscanf(buf, "%u %lld %u %lld %u", &req.perout.index,
> &req.perout.start.sec, &req.perout.start.nsec,
> &req.perout.period.sec, &req.perout.period.nsec);
> if (cnt != 5)
> goto out;
>
> Do we want to permit another sscanf for optional flags at the end? Would
> the flags be textual or numbers (0, 1, 2, 3)?
I don't know how stringent the sysfs interface needs to be on avoiding ABI
breakage, but we probably want to be careful here. Personally I really dislike
this interface as I constantly have to lookup what order each thing is in. I'd
rather see it replaced with something more akin to "name=value" or "name value"
pairs.. though in practice if we simply make the current userspace tools better
then it wouldn't be that relevant since those would be easier to use overall
anwyays...
>
> Thanks,
> -Vladimir
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel