Hi, For fixes of Intel drivers in the Linux kernel, you should approach the Intel network group of the Linux kernel. You can look in https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/MAINTAINERS . For "INTEL ETHERNET DRIVERS".
Or perhaps they are here in this mailing list. Erez On Fri, 26 May 2023 at 16:53, egg car <eggcar.l...@gmail.com> wrote: > Dear Richard, > > Ah yes I have figured out that the problem is not ts2phc, it should be > fixed in igb_extts() at igb_main.c > > if (hw->mac > <https://elixir.bootlin.com/linux/v5.19.17/C/ident/mac>.type == e1000_82580 > <https://elixir.bootlin.com/linux/v5.19.17/C/ident/e1000_82580> || >> hw->mac >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/mac>.type == e1000_i354 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/e1000_i354> || >> hw->mac >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/mac>.type == e1000_i350 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/e1000_i350>) { >> s64 <https://elixir.bootlin.com/linux/v5.19.17/C/ident/s64> ns >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ns> = rd32 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/rd32>(auxstmpl); >> >> ns <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ns> += >> ((s64 <https://elixir.bootlin.com/linux/v5.19.17/C/ident/s64>)(rd32 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/rd32>(auxstmph) & 0xFF)) >> << 32; >> ts <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ts> = >> ns_to_timespec64 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ns_to_timespec64>(ns >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ns>); >> } else { >> ts >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ts>.tv_nsec >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/tv_nsec> = rd32 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/rd32>(auxstmpl); >> ts >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/ts>.tv_sec >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/tv_sec> = rd32 >> <https://elixir.bootlin.com/linux/v5.19.17/C/ident/rd32>(auxstmph); >> } >> >> here the driver does treat the AUXSTMPH resolution and valid bits in the > right way, but forgot to convert the raw circle counter value to > valid time stamp value. > > I'll test the patch next week > > Thanks for your attention > > Richard Cochran <richardcoch...@gmail.com> 于2023年5月26日周五 22:09写道: > >> On Fri, May 26, 2023 at 03:02:43PM +0800, egg car wrote: >> >> > It's a bit complicated to use, I see why they use 'struct timecounter' >> > instead of hardware PHC >> > counter, and in this case all the timestamp regs cannot be used >> directly. >> > Needs more time to find out how to fix this, either the driver or >> 'ts2phc' >> > program. >> >> Don't try to "fix" ts2phc. That won't make the device driver work any >> better. >> >> Thanks, >> Richard >> >> >> _______________________________________________ > Linuxptp-devel mailing list > Linuxptp-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linuxptp-devel >
_______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel