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

Reply via email to