Module Name: src
Committed By: msaitoh
Date: Thu Dec 24 15:51:33 UTC 2020
Modified Files:
src/sys/dev/pci/ixgbe: ixgbe.c
Log Message:
The EICR register are cleared in the beginning of the ixgbe_legacy_irq(),
so it's not required to clear each bit later in the function.
To generate a diff of this commit:
cvs rdiff -u -r1.267 -r1.268 src/sys/dev/pci/ixgbe/ixgbe.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/ixgbe/ixgbe.c
diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.267 src/sys/dev/pci/ixgbe/ixgbe.c:1.268
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.267 Thu Dec 24 15:51:04 2020
+++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Dec 24 15:51:33 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.267 2020/12/24 15:51:04 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.268 2020/12/24 15:51:33 msaitoh Exp $ */
/******************************************************************************
@@ -5166,6 +5166,7 @@ ixgbe_legacy_irq(void *arg)
/* Silicon errata #26 on 82598. Disable all interrupts */
IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_IRQ_CLEAR_MASK);
+ /* Read and clear EICR */
eicr = IXGBE_READ_REG(hw, IXGBE_EICR);
adapter->stats.pf.legint.ev_count++;
@@ -5218,14 +5219,11 @@ ixgbe_legacy_irq(void *arg)
if ((eicr & eicr_mask)
|| ((hw->phy.sfp_type == ixgbe_sfp_type_not_present)
&& (eicr & IXGBE_EICR_LSC))) {
- IXGBE_WRITE_REG(hw, IXGBE_EICR, eicr_mask);
task_requests |= IXGBE_REQUEST_TASK_MOD;
}
if ((hw->mac.type == ixgbe_mac_82599EB) &&
(eicr & IXGBE_EICR_GPI_SDP1_BY_MAC(hw))) {
- IXGBE_WRITE_REG(hw, IXGBE_EICR,
- IXGBE_EICR_GPI_SDP1_BY_MAC(hw));
task_requests |= IXGBE_REQUEST_TASK_MSF;
}
}
@@ -5233,7 +5231,6 @@ ixgbe_legacy_irq(void *arg)
/* Check for fan failure */
if (adapter->feat_en & IXGBE_FEATURE_FAN_FAIL) {
ixgbe_check_fan_failure(adapter, eicr, true);
- IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP1_BY_MAC(hw));
}
/* External PHY interrupt */