[PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

Subsystems: intel ethernet drivers, networking drivers, the rest

STALE3438d

7 messages, 4 authors, 2017-03-24 · open the first message on its own page

[PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: Bernd Faust <hidden>
Date: 2017-02-16 18:42:22

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 <redacted>
---
 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 */

Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: Neftin, Sasha <hidden>
Date: 2017-02-19 12:55:16

On 2/16/2017 20:42, Bernd Faust wrote:
quoted hunk
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 <redacted>
---
  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

Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: Neftin, Sasha <hidden>
Date: 2017-02-26 09:09:58

On 2/19/2017 14:55, Neftin, Sasha wrote:
On 2/16/2017 20:42, Bernd Faust wrote:
quoted
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 <redacted>
---
  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

Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: Neftin, Sasha <hidden>
Date: 2017-02-27 08:21:20

On 2/26/2017 11:08, Neftin, Sasha wrote:
On 2/19/2017 14:55, Neftin, Sasha wrote:
quoted
On 2/16/2017 20:42, Bernd Faust wrote:
quoted
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 <redacted>
---
  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.

Re: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: Neftin, Sasha <hidden>
Date: 2017-02-27 08:40:05

On 2/26/2017 11:08, Neftin, Sasha wrote:
On 2/19/2017 14:55, Neftin, Sasha wrote:
quoted
On 2/16/2017 20:42, Bernd Faust wrote:
quoted
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 <redacted>
---
  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.

RE: [Intel-wired-lan] [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: "Keller, Jacob E" <jacob.e.keller@intel.com>
Date: 2017-02-28 21:09:58

-----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 <redacted>; Kirsher, Jeffrey T
[off-list ref]; 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:
quoted
On 2/19/2017 14:55, Neftin, Sasha wrote:
quoted
On 2/16/2017 20:42, Bernd Faust wrote:
quoted
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 <redacted>
---
  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

RE: [PATCH] e1000e: fix timing for 82579 Gigabit Ethernet controller

From: Brown, Aaron F <hidden>
Date: 2017-03-24 00:49:13

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 <redacted>; Lubetkin, YanirX
[off-list ref]; intel-wired-lan@lists.osuosl.org;
netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Cc: Bernd Faust <redacted>
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 <redacted>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++++
 1 file changed, 6 insertions(+)
Tested-by: Aaron Brown <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help