linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
@ 2017-02-16 18:42 Bernd Faust
  2017-02-19 12:55 ` [Intel-wired-lan] " Neftin, Sasha
  2017-03-24  0:43 ` Brown, Aaron F
  0 siblings, 2 replies; 7+ messages in thread
From: Bernd Faust @ 2017-02-16 18:42 UTC (permalink / raw)
  To: Jeff Kirsher, Yanir Lubetkin, intel-wired-lan, netdev, linux-kernel
  Cc: Bernd Faust

After an upgrade to Linux kernel v4.x the hardware timestamps of the
82579 Gigabit Ethernet Controller are different than expected.
The values that are being read are almost four times as big as before
the kernel upgrade.

The difference is that after the upgrade the driver sets the clock
frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
confirmed that the correct frequency for this network adapter is 96MHz.

Signed-off-by: Bernd Faust <berndfaust@gmail.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 7017281..8b7113d 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3511,6 +3511,12 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca)

 	switch (hw->mac.type) {
 	case e1000_pch2lan:
+		/* Stable 96MHz frequency */
+		incperiod = INCPERIOD_96MHz;
+		incvalue = INCVALUE_96MHz;
+		shift = INCVALUE_SHIFT_96MHz;
+		adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHz;
+		break;
 	case e1000_pch_lpt:
 		if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
 			/* Stable 96MHz frequency */
--
2.7.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
  2017-02-16 18:42 [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller Bernd Faust
@ 2017-02-19 12:55 ` Neftin, Sasha
  2017-02-26  9:08   ` Neftin, Sasha
  2017-03-24  0:43 ` Brown, Aaron F
  1 sibling, 1 reply; 7+ messages in thread
From: Neftin, Sasha @ 2017-02-19 12:55 UTC (permalink / raw)
  To: Bernd Faust, Jeff Kirsher, Yanir Lubetkin, intel-wired-lan,
	netdev, linux-kernel

On 2/16/2017 20:42, Bernd Faust wrote:
> After an upgrade to Linux kernel v4.x the hardware timestamps of the
> 82579 Gigabit Ethernet Controller are different than expected.
> The values that are being read are almost four times as big as before
> the kernel upgrade.
>
> The difference is that after the upgrade the driver sets the clock
> frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
> confirmed that the correct frequency for this network adapter is 96MHz.
>
> Signed-off-by: Bernd Faust <berndfaust@gmail.com>
> ---
>   drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
> index 7017281..8b7113d 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -3511,6 +3511,12 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca)
>
>   	switch (hw->mac.type) {
>   	case e1000_pch2lan:
> +		/* Stable 96MHz frequency */
> +		incperiod = INCPERIOD_96MHz;
> +		incvalue = INCVALUE_96MHz;
> +		shift = INCVALUE_SHIFT_96MHz;
> +		adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHz;
> +		break;
>   	case e1000_pch_lpt:
>   		if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
>   			/* Stable 96MHz frequency */
> --
> 2.7.4
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Hello,

e1000_pch2lan mac type corresponds to 82579LM and 82579V network 
adapters. System clock frequency indication (SYSCFI) for these devices 
supports both 25MHz and 96MHz frequency. By default TSYNCRXCTL.SYSCFI is 
set to 1 and that means 96MHz frequency is picked.

It is better to keep the current implementation as it covers all options.

Thanks,

Sasha

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
  2017-02-19 12:55 ` [Intel-wired-lan] " Neftin, Sasha
@ 2017-02-26  9:08   ` Neftin, Sasha
  2017-02-27  8:20     ` Neftin, Sasha
  2017-02-27  8:39     ` Neftin, Sasha
  0 siblings, 2 replies; 7+ messages in thread
From: Neftin, Sasha @ 2017-02-26  9:08 UTC (permalink / raw)
  To: Bernd Faust, Jeff Kirsher, intel-wired-lan, netdev, linux-kernel

On 2/19/2017 14:55, Neftin, Sasha wrote:
> On 2/16/2017 20:42, Bernd Faust wrote:
>> After an upgrade to Linux kernel v4.x the hardware timestamps of the
>> 82579 Gigabit Ethernet Controller are different than expected.
>> The values that are being read are almost four times as big as before
>> the kernel upgrade.
>>
>> The difference is that after the upgrade the driver sets the clock
>> frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
>> confirmed that the correct frequency for this network adapter is 96MHz.
>>
>> Signed-off-by: Bernd Faust <berndfaust@gmail.com>
>> ---
>>   drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
>> b/drivers/net/ethernet/intel/e1000e/netdev.c
>> index 7017281..8b7113d 100644
>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>> @@ -3511,6 +3511,12 @@ s32 e1000e_get_base_timinca(struct 
>> e1000_adapter *adapter, u32 *timinca)
>>
>>       switch (hw->mac.type) {
>>       case e1000_pch2lan:
>> +        /* Stable 96MHz frequency */
>> +        incperiod = INCPERIOD_96MHz;
>> +        incvalue = INCVALUE_96MHz;
>> +        shift = INCVALUE_SHIFT_96MHz;
>> +        adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHz;
>> +        break;
>>       case e1000_pch_lpt:
>>           if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
>>               /* Stable 96MHz frequency */
>> -- 
>> 2.7.4
>> _______________________________________________
>> Intel-wired-lan mailing list
>> Intel-wired-lan@lists.osuosl.org
>> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
>
> Hello,
>
> e1000_pch2lan mac type corresponds to 82579LM and 82579V network 
> adapters. System clock frequency indication (SYSCFI) for these devices 
> supports both 25MHz and 96MHz frequency. By default TSYNCRXCTL.SYSCFI 
> is set to 1 and that means 96MHz frequency is picked.
>
> It is better to keep the current implementation as it covers all options.
>
> Thanks,
>
> Sasha
>
Hello,

During last couple of weeks I saw few  complaints from community on same 
timing problem with 82579. I will double check clock definition with HW 
architecture.

Sasha

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
  2017-02-26  9:08   ` Neftin, Sasha
@ 2017-02-27  8:20     ` Neftin, Sasha
  2017-02-27  8:39     ` Neftin, Sasha
  1 sibling, 0 replies; 7+ messages in thread
From: Neftin, Sasha @ 2017-02-27  8:20 UTC (permalink / raw)
  To: Bernd Faust, Jeff Kirsher, intel-wired-lan, netdev, linux-kernel

On 2/26/2017 11:08, Neftin, Sasha wrote:
> On 2/19/2017 14:55, Neftin, Sasha wrote:
>> On 2/16/2017 20:42, Bernd Faust wrote:
>>> After an upgrade to Linux kernel v4.x the hardware timestamps of the
>>> 82579 Gigabit Ethernet Controller are different than expected.
>>> The values that are being read are almost four times as big as before
>>> the kernel upgrade.
>>>
>>> The difference is that after the upgrade the driver sets the clock
>>> frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
>>> confirmed that the correct frequency for this network adapter is 96MHz.
>>>
>>> Signed-off-by: Bernd Faust <berndfaust@gmail.com>
>>> ---
>>>   drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
>>>   1 file changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
>>> b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> index 7017281..8b7113d 100644
>>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> @@ -3511,6 +3511,12 @@ s32 e1000e_get_base_timinca(struct 
>>> e1000_adapter *adapter, u32 *timinca)
>>>
>>>       switch (hw->mac.type) {
>>>       case e1000_pch2lan:
>>> +        /* Stable 96MHz frequency */
>>> +        incperiod = INCPERIOD_96MHz;
>>> +        incvalue = INCVALUE_96MHz;
>>> +        shift = INCVALUE_SHIFT_96MHz;
>>> +        adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHz;
>>> +        break;
>>>       case e1000_pch_lpt:
>>>           if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
>>>               /* Stable 96MHz frequency */
>>> -- 
>>> 2.7.4
>>> _______________________________________________
>>> Intel-wired-lan mailing list
>>> Intel-wired-lan@lists.osuosl.org
>>> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
>>
>> Hello,
>>
>> e1000_pch2lan mac type corresponds to 82579LM and 82579V network 
>> adapters. System clock frequency indication (SYSCFI) for these 
>> devices supports both 25MHz and 96MHz frequency. By default 
>> TSYNCRXCTL.SYSCFI is set to 1 and that means 96MHz frequency is picked.
>>
>> It is better to keep the current implementation as it covers all 
>> options.
>>
>> Thanks,
>>
>> Sasha
>>
> Hello,
>
> During last couple of weeks I saw few  complaints from community on 
> same timing problem with 82579. I will double check clock definition 
> with HW architecture.
>
> Sasha
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

I've double checked - 82579 support 96MHz frequency only. So, let's 
accept this suggestion to upstream.

Ack.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
  2017-02-26  9:08   ` Neftin, Sasha
  2017-02-27  8:20     ` Neftin, Sasha
@ 2017-02-27  8:39     ` Neftin, Sasha
  2017-02-28 21:09       ` Keller, Jacob E
  1 sibling, 1 reply; 7+ messages in thread
From: Neftin, Sasha @ 2017-02-27  8:39 UTC (permalink / raw)
  To: Bernd Faust, Jeff Kirsher, intel-wired-lan, netdev, linux-kernel

On 2/26/2017 11:08, Neftin, Sasha wrote:
> On 2/19/2017 14:55, Neftin, Sasha wrote:
>> On 2/16/2017 20:42, Bernd Faust wrote:
>>> After an upgrade to Linux kernel v4.x the hardware timestamps of the
>>> 82579 Gigabit Ethernet Controller are different than expected.
>>> The values that are being read are almost four times as big as before
>>> the kernel upgrade.
>>>
>>> The difference is that after the upgrade the driver sets the clock
>>> frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
>>> confirmed that the correct frequency for this network adapter is 96MHz.
>>>
>>> Signed-off-by: Bernd Faust <berndfaust@gmail.com>
>>> ---
>>>   drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
>>>   1 file changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
>>> b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> index 7017281..8b7113d 100644
>>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>>> @@ -3511,6 +3511,12 @@ s32 e1000e_get_base_timinca(struct 
>>> e1000_adapter *adapter, u32 *timinca)
>>>
>>>       switch (hw->mac.type) {
>>>       case e1000_pch2lan:
>>> +        /* Stable 96MHz frequency */
>>> +        incperiod = INCPERIOD_96MHz;
>>> +        incvalue = INCVALUE_96MHz;
>>> +        shift = INCVALUE_SHIFT_96MHz;
>>> +        adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHz;
>>> +        break;
>>>       case e1000_pch_lpt:
>>>           if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
>>>               /* Stable 96MHz frequency */
>>> -- 
>>> 2.7.4
>>> _______________________________________________
>>> Intel-wired-lan mailing list
>>> Intel-wired-lan@lists.osuosl.org
>>> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
>>
>> Hello,
>>
>> e1000_pch2lan mac type corresponds to 82579LM and 82579V network 
>> adapters. System clock frequency indication (SYSCFI) for these 
>> devices supports both 25MHz and 96MHz frequency. By default 
>> TSYNCRXCTL.SYSCFI is set to 1 and that means 96MHz frequency is picked.
>>
>> It is better to keep the current implementation as it covers all 
>> options.
>>
>> Thanks,
>>
>> Sasha
>>
> Hello,
>
> During last couple of weeks I saw few  complaints from community on 
> same timing problem with 82579. I will double check clock definition 
> with HW architecture.
>
> Sasha
>
I've double checked - 82579 support 96MHz frequency only. So, let's 
accept this suggestion to upstream.

Ack.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
  2017-02-27  8:39     ` Neftin, Sasha
@ 2017-02-28 21:09       ` Keller, Jacob E
  0 siblings, 0 replies; 7+ messages in thread
From: Keller, Jacob E @ 2017-02-28 21:09 UTC (permalink / raw)
  To: Neftin, Sasha, Bernd Faust, Kirsher, Jeffrey T, intel-wired-lan,
	netdev, linux-kernel

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On
> Behalf Of Neftin, Sasha
> Sent: Monday, February 27, 2017 12:40 AM
> To: Bernd Faust <berndfaust@gmail.com>; Kirsher, Jeffrey T
> <jeffrey.t.kirsher@intel.com>; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit
> Ethernet controller
> 
> On 2/26/2017 11:08, Neftin, Sasha wrote:
> > On 2/19/2017 14:55, Neftin, Sasha wrote:
> >> On 2/16/2017 20:42, Bernd Faust wrote:
> >>> After an upgrade to Linux kernel v4.x the hardware timestamps of the
> >>> 82579 Gigabit Ethernet Controller are different than expected.
> >>> The values that are being read are almost four times as big as before
> >>> the kernel upgrade.
> >>>
> >>> The difference is that after the upgrade the driver sets the clock
> >>> frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
> >>> confirmed that the correct frequency for this network adapter is 96MHz.
> >>>
> >>> Signed-off-by: Bernd Faust <berndfaust@gmail.com>
> >>> ---
> >>>   drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
> >>>   1 file changed, 6 insertions(+)
> >>>
> >>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c
> >>> b/drivers/net/ethernet/intel/e1000e/netdev.c
> >>> index 7017281..8b7113d 100644
> >>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> >>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> >>> @@ -3511,6 +3511,12 @@ s32 e1000e_get_base_timinca(struct
> >>> e1000_adapter *adapter, u32 *timinca)
> >>>
> >>>       switch (hw->mac.type) {
> >>>       case e1000_pch2lan:
> >>> +        /* Stable 96MHz frequency */
> >>> +        incperiod = INCPERIOD_96MHz;
> >>> +        incvalue = INCVALUE_96MHz;
> >>> +        shift = INCVALUE_SHIFT_96MHz;
> >>> +        adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHz;
> >>> +        break;
> >>>       case e1000_pch_lpt:
> >>>           if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
> >>>               /* Stable 96MHz frequency */
> >>> --
> >>> 2.7.4
> >>> _______________________________________________
> >>> Intel-wired-lan mailing list
> >>> Intel-wired-lan@lists.osuosl.org
> >>> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
> >>
> >> Hello,
> >>
> >> e1000_pch2lan mac type corresponds to 82579LM and 82579V network
> >> adapters. System clock frequency indication (SYSCFI) for these
> >> devices supports both 25MHz and 96MHz frequency. By default
> >> TSYNCRXCTL.SYSCFI is set to 1 and that means 96MHz frequency is picked.
> >>
> >> It is better to keep the current implementation as it covers all
> >> options.
> >>
> >> Thanks,
> >>
> >> Sasha
> >>
> > Hello,
> >
> > During last couple of weeks I saw few  complaints from community on
> > same timing problem with 82579. I will double check clock definition
> > with HW architecture.
> >
> > Sasha
> >
> I've double checked - 82579 support 96MHz frequency only. So, let's
> accept this suggestion to upstream.
> 
> Ack.
> 

This resolves also a complaint from someone on the LinuxPTP development mailing list.

ACK.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
  2017-02-16 18:42 [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller Bernd Faust
  2017-02-19 12:55 ` [Intel-wired-lan] " Neftin, Sasha
@ 2017-03-24  0:43 ` Brown, Aaron F
  1 sibling, 0 replies; 7+ messages in thread
From: Brown, Aaron F @ 2017-03-24  0:43 UTC (permalink / raw)
  To: Bernd Faust, Kirsher, Jeffrey T, Lubetkin, YanirX,
	intel-wired-lan, netdev, linux-kernel

> From: netdev-owner@vger.kernel.org [mailto:netdev-
> owner@vger.kernel.org] On Behalf Of Bernd Faust
> Sent: Thursday, February 16, 2017 10:42 AM
> To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>; Lubetkin, YanirX
> <yanirx.lubetkin@intel.com>; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> Cc: Bernd Faust <berndfaust@gmail.com>
> Subject: [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller
> 
> After an upgrade to Linux kernel v4.x the hardware timestamps of the
> 82579 Gigabit Ethernet Controller are different than expected.
> The values that are being read are almost four times as big as before
> the kernel upgrade.
> 
> The difference is that after the upgrade the driver sets the clock
> frequency to 25MHz, where before the upgrade it was set to 96MHz. Intel
> confirmed that the correct frequency for this network adapter is 96MHz.
> 
> Signed-off-by: Bernd Faust <berndfaust@gmail.com>
> ---
>  drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Tested-by: Aaron Brown <aaron.f.brown@intel.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-03-24  0:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-16 18:42 [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller Bernd Faust
2017-02-19 12:55 ` [Intel-wired-lan] " Neftin, Sasha
2017-02-26  9:08   ` Neftin, Sasha
2017-02-27  8:20     ` Neftin, Sasha
2017-02-27  8:39     ` Neftin, Sasha
2017-02-28 21:09       ` Keller, Jacob E
2017-03-24  0:43 ` Brown, Aaron F

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).