Skip to content

Commit 9665e03

Browse files
committed
Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue
Tony Nguyen says: ==================== Intel Wired LAN Driver Updates 2021-12-28 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. * '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue: igc: Fix TX timestamp support for non-MSI-X platforms igc: Do not enable crosstimestamping for i225-V models ==================== Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2 parents 140c7bc + f85846b commit 9665e03

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

drivers/net/ethernet/intel/igc/igc_main.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5467,6 +5467,9 @@ static irqreturn_t igc_intr_msi(int irq, void *data)
54675467
mod_timer(&adapter->watchdog_timer, jiffies + 1);
54685468
}
54695469

5470+
if (icr & IGC_ICR_TS)
5471+
igc_tsync_interrupt(adapter);
5472+
54705473
napi_schedule(&q_vector->napi);
54715474

54725475
return IRQ_HANDLED;
@@ -5510,6 +5513,9 @@ static irqreturn_t igc_intr(int irq, void *data)
55105513
mod_timer(&adapter->watchdog_timer, jiffies + 1);
55115514
}
55125515

5516+
if (icr & IGC_ICR_TS)
5517+
igc_tsync_interrupt(adapter);
5518+
55135519
napi_schedule(&q_vector->napi);
55145520

55155521
return IRQ_HANDLED;

drivers/net/ethernet/intel/igc/igc_ptp.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,20 @@ int igc_ptp_get_ts_config(struct net_device *netdev, struct ifreq *ifr)
768768
*/
769769
static bool igc_is_crosststamp_supported(struct igc_adapter *adapter)
770770
{
771-
return IS_ENABLED(CONFIG_X86_TSC) ? pcie_ptm_enabled(adapter->pdev) : false;
771+
if (!IS_ENABLED(CONFIG_X86_TSC))
772+
return false;
773+
774+
/* FIXME: it was noticed that enabling support for PCIe PTM in
775+
* some i225-V models could cause lockups when bringing the
776+
* interface up/down. There should be no downsides to
777+
* disabling crosstimestamping support for i225-V, as it
778+
* doesn't have any PTP support. That way we gain some time
779+
* while root causing the issue.
780+
*/
781+
if (adapter->pdev->device == IGC_DEV_ID_I225_V)
782+
return false;
783+
784+
return pcie_ptm_enabled(adapter->pdev);
772785
}
773786

774787
static struct system_counterval_t igc_device_tstamp_to_system(u64 tstamp)

0 commit comments

Comments
 (0)