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