netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28
@ 2021-12-28 18:24 Tony Nguyen
  2021-12-28 18:24 ` [PATCH net 1/2] igc: Do not enable crosstimestamping for i225-V models Tony Nguyen
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Tony Nguyen @ 2021-12-28 18:24 UTC (permalink / raw)
  To: davem, kuba; +Cc: Tony Nguyen, netdev, sasha.neftin, vitaly.lifshits

This series contains updates to igc driver only.

Vinicius disables support for crosstimestamp on i225-V as lockups are being
observed.

James McLaughlin fixes Tx timestamping support on non-MSI-X platforms.

The following are changes since commit 16fa29aef7963293f8792789210002ec9f9607ac:
  Merge branch 'smc-fixes'
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue 1GbE

James McLaughlin (1):
  igc: Fix TX timestamp support for non-MSI-X platforms

Vinicius Costa Gomes (1):
  igc: Do not enable crosstimestamping for i225-V models

 drivers/net/ethernet/intel/igc/igc_main.c |  6 ++++++
 drivers/net/ethernet/intel/igc/igc_ptp.c  | 15 ++++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

-- 
2.31.1


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

* [PATCH net 1/2] igc: Do not enable crosstimestamping for i225-V models
  2021-12-28 18:24 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 Tony Nguyen
@ 2021-12-28 18:24 ` Tony Nguyen
  2021-12-28 18:24 ` [PATCH net 2/2] igc: Fix TX timestamp support for non-MSI-X platforms Tony Nguyen
  2021-12-29  0:30 ` [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Tony Nguyen @ 2021-12-28 18:24 UTC (permalink / raw)
  To: davem, kuba
  Cc: Vinicius Costa Gomes, netdev, anthony.l.nguyen, sasha.neftin,
	vitaly.lifshits, Stefan Dietrich, Nechama Kraus

From: Vinicius Costa Gomes <vinicius.gomes@intel.com>

It was reported that when PCIe PTM is enabled, some lockups could
be observed with some integrated i225-V models.

While the issue is investigated, we can disable crosstimestamp for
those models and see no loss of functionality, because those models
don't have any support for time synchronization.

Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()")
Link: https://lore.kernel.org/all/924175a188159f4e03bd69908a91e606b574139b.camel@gmx.de/
Reported-by: Stefan Dietrich <roots@gmx.de>
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: Nechama Kraus <nechamax.kraus@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/igc/igc_ptp.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igc/igc_ptp.c b/drivers/net/ethernet/intel/igc/igc_ptp.c
index 30568e3544cd..4f9245aa79a1 100644
--- a/drivers/net/ethernet/intel/igc/igc_ptp.c
+++ b/drivers/net/ethernet/intel/igc/igc_ptp.c
@@ -768,7 +768,20 @@ int igc_ptp_get_ts_config(struct net_device *netdev, struct ifreq *ifr)
  */
 static bool igc_is_crosststamp_supported(struct igc_adapter *adapter)
 {
-	return IS_ENABLED(CONFIG_X86_TSC) ? pcie_ptm_enabled(adapter->pdev) : false;
+	if (!IS_ENABLED(CONFIG_X86_TSC))
+		return false;
+
+	/* FIXME: it was noticed that enabling support for PCIe PTM in
+	 * some i225-V models could cause lockups when bringing the
+	 * interface up/down. There should be no downsides to
+	 * disabling crosstimestamping support for i225-V, as it
+	 * doesn't have any PTP support. That way we gain some time
+	 * while root causing the issue.
+	 */
+	if (adapter->pdev->device == IGC_DEV_ID_I225_V)
+		return false;
+
+	return pcie_ptm_enabled(adapter->pdev);
 }
 
 static struct system_counterval_t igc_device_tstamp_to_system(u64 tstamp)
-- 
2.31.1


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

* [PATCH net 2/2] igc: Fix TX timestamp support for non-MSI-X platforms
  2021-12-28 18:24 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 Tony Nguyen
  2021-12-28 18:24 ` [PATCH net 1/2] igc: Do not enable crosstimestamping for i225-V models Tony Nguyen
@ 2021-12-28 18:24 ` Tony Nguyen
  2021-12-29  0:30 ` [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Tony Nguyen @ 2021-12-28 18:24 UTC (permalink / raw)
  To: davem, kuba
  Cc: James McLaughlin, netdev, anthony.l.nguyen, sasha.neftin,
	vitaly.lifshits, Vinicius Costa Gomes, Nechama Kraus

From: James McLaughlin <james.mclaughlin@qsc.com>

Time synchronization was not properly enabled on non-MSI-X platforms.

Fixes: 2c344ae24501 ("igc: Add support for TX timestamping")
Signed-off-by: James McLaughlin <james.mclaughlin@qsc.com>
Reviewed-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: Nechama Kraus <nechamax.kraus@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/igc/igc_main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 8e448288ee26..d28a80a00953 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -5467,6 +5467,9 @@ static irqreturn_t igc_intr_msi(int irq, void *data)
 			mod_timer(&adapter->watchdog_timer, jiffies + 1);
 	}
 
+	if (icr & IGC_ICR_TS)
+		igc_tsync_interrupt(adapter);
+
 	napi_schedule(&q_vector->napi);
 
 	return IRQ_HANDLED;
@@ -5510,6 +5513,9 @@ static irqreturn_t igc_intr(int irq, void *data)
 			mod_timer(&adapter->watchdog_timer, jiffies + 1);
 	}
 
+	if (icr & IGC_ICR_TS)
+		igc_tsync_interrupt(adapter);
+
 	napi_schedule(&q_vector->napi);
 
 	return IRQ_HANDLED;
-- 
2.31.1


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

* Re: [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28
  2021-12-28 18:24 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 Tony Nguyen
  2021-12-28 18:24 ` [PATCH net 1/2] igc: Do not enable crosstimestamping for i225-V models Tony Nguyen
  2021-12-28 18:24 ` [PATCH net 2/2] igc: Fix TX timestamp support for non-MSI-X platforms Tony Nguyen
@ 2021-12-29  0:30 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-12-29  0:30 UTC (permalink / raw)
  To: Tony Nguyen; +Cc: davem, kuba, netdev, sasha.neftin, vitaly.lifshits

Hello:

This series was applied to netdev/net.git (master)
by Tony Nguyen <anthony.l.nguyen@intel.com>:

On Tue, 28 Dec 2021 10:24:19 -0800 you wrote:
> This series contains updates to igc driver only.
> 
> Vinicius disables support for crosstimestamp on i225-V as lockups are being
> observed.
> 
> James McLaughlin fixes Tx timestamping support on non-MSI-X platforms.
> 
> [...]

Here is the summary with links:
  - [net,1/2] igc: Do not enable crosstimestamping for i225-V models
    https://git.kernel.org/netdev/net/c/1e81dcc1ab7d
  - [net,2/2] igc: Fix TX timestamp support for non-MSI-X platforms
    https://git.kernel.org/netdev/net/c/f85846bbf43d

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2021-12-29  0:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-28 18:24 [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 Tony Nguyen
2021-12-28 18:24 ` [PATCH net 1/2] igc: Do not enable crosstimestamping for i225-V models Tony Nguyen
2021-12-28 18:24 ` [PATCH net 2/2] igc: Fix TX timestamp support for non-MSI-X platforms Tony Nguyen
2021-12-29  0:30 ` [PATCH net 0/2][pull request] Intel Wired LAN Driver Updates 2021-12-28 patchwork-bot+netdevbpf

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).