More details:
The type of "freq" field in "__kernel_timex" structure is fixed in mainline kernel to "long long" type.
However "__kernel_long_t freq" in timex structure depends on machine.
Eg. for some machines it see:
include/uapi/asm-generic/posix_types.h:typedef long __kernel_long_t;
arch/sparc/include/uapi/asm/posix_types.h: typedef long __kernel_long_t;

best regards
Janusz Uzycki


W dniu 06/10/2022 o 00:11, Janusz Użycki pisze:
Hi.

A lot of PTP/PHC drivers set max_adj value quite big. Howover due to kernel's API limit of 32bit long type value (freq) and POSIX frequency conversion it should limited to 32767999 ppb.

It concerns the frequency limit check both for kernel, testptp and ptp4linux servos. Simply 65.536 * 32767999 is almost 2^31... It is also common for adjfreq() vs newer adjfine(). Moreover such big frequency limits seem not practical (phase jump used instead, 1000ppm is huge for any PTP oscillator application), even driver or rather PHC hardware has ability to tune is such range.


best regards
Janusz Uzycki




_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to