Module Name: src Committed By: msaitoh Date: Thu Dec 24 15:51:04 UTC 2020
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c Log Message: The EICR register's all OTHER interrupt bits are cleared in the beginning of the ixgbe_msix_admin(), so it's not required to clear each bit later in the function. To generate a diff of this commit: cvs rdiff -u -r1.266 -r1.267 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.266 src/sys/dev/pci/ixgbe/ixgbe.c:1.267 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.266 Thu Dec 24 10:37:47 2020 +++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Dec 24 15:51:04 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.266 2020/12/24 10:37:47 msaitoh Exp $ */ +/* $NetBSD: ixgbe.c,v 1.267 2020/12/24 15:51:04 msaitoh Exp $ */ /****************************************************************************** @@ -3130,14 +3130,11 @@ ixgbe_msix_admin(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; } } @@ -3156,7 +3153,6 @@ ixgbe_msix_admin(void *arg) if (eicr & IXGBE_EICR_ECC) { device_printf(adapter->dev, "CRITICAL: ECC ERROR!! Please Reboot!!\n"); - IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_ECC); } /* Check for over temp condition */ @@ -3167,8 +3163,6 @@ ixgbe_msix_admin(void *arg) break; IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_EICR_GPI_SDP0_X550EM_a); - IXGBE_WRITE_REG(hw, IXGBE_EICR, - IXGBE_EICR_GPI_SDP0_X550EM_a); retval = hw->phy.ops.check_overtemp(hw); if (retval != IXGBE_ERR_OVERTEMP) break; @@ -3183,7 +3177,6 @@ ixgbe_msix_admin(void *arg) break; device_printf(adapter->dev, "CRITICAL: OVER TEMP!! PHY IS SHUT DOWN!!\n"); device_printf(adapter->dev, "System shutdown required!\n"); - IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_TS); break; } } @@ -3198,13 +3191,11 @@ ixgbe_msix_admin(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 */ if ((hw->phy.type == ixgbe_phy_x550em_ext_t) && (eicr & IXGBE_EICR_GPI_SDP0_X540)) { - IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP0_X540); task_requests |= IXGBE_REQUEST_TASK_PHY; }