Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci/ixgbe The EICR register's all OTHER interrupt bi...



details:   https://anonhg.NetBSD.org/src/rev/e5de3aebe863
branches:  trunk
changeset: 1017373:e5de3aebe863
user:      msaitoh <msaitoh%NetBSD.org@localhost>
date:      Thu Dec 24 15:51:04 2020 +0000

description:
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.

diffstat:

 sys/dev/pci/ixgbe/ixgbe.c |  11 +----------
 1 files changed, 1 insertions(+), 10 deletions(-)

diffs (63 lines):

diff -r e051f56c7cb6 -r e5de3aebe863 sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Thu Dec 24 14:44:49 2020 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Thu Dec 24 15:51:04 2020 +0000
@@ -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 @@
                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 @@
                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 @@
                                        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 @@
                                        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 @@
        /* 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;
        }
 



Home | Main Index | Thread Index | Old Index