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 - Fix a bug that Denverton accessed wrong ...



details:   https://anonhg.NetBSD.org/src/rev/7194888d3ede
branches:  trunk
changeset: 433427:7194888d3ede
user:      msaitoh <msaitoh%NetBSD.org@localhost>
date:      Fri Sep 14 09:51:09 2018 +0000

description:
- Fix a bug that Denverton accessed wrong register in
  ixgbe_setup_low_power_mode(). The location of some registers in Denverton
  were changed. The GRC register is one of them, so use IXGBE_GRC_BY_MAC(hw)
  instead of IXGBE_GRC.
- ixgbe_check_wol_support() tests the capability of WOL, but the sysctl
  knobs for WOL were added only for IXGBE_DEV_ID_X550EM_X_10G_T. Add the
  knobs when adapter->wol_support is not 0.

XXX pullup-8

diffstat:

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

diffs (29 lines):

diff -r 850a7b415994 -r 7194888d3ede sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Fri Sep 14 09:06:12 2018 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Fri Sep 14 09:51:09 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.165 2018/09/03 16:29:33 riastradh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.166 2018/09/14 09:51:09 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -3279,7 +3279,7 @@
                        aprint_error_dev(dev, "could not create sysctl\n");
 
        /* for WoL-capable devices */
-       if (hw->device_id == IXGBE_DEV_ID_X550EM_X_10G_T) {
+       if (adapter->wol_support) {
                if (sysctl_createv(log, 0, &rnode, &cnode, CTLFLAG_READWRITE,
                    CTLTYPE_BOOL, "wol_enable",
                    SYSCTL_DESCR("Enable/Disable Wake on LAN"),
@@ -3665,8 +3665,8 @@
                IXGBE_WRITE_REG(hw, IXGBE_WUC, 0);
        } else {
                /* Turn off support for APM wakeup. (Using ACPI instead) */
-               IXGBE_WRITE_REG(hw, IXGBE_GRC,
-                   IXGBE_READ_REG(hw, IXGBE_GRC) & ~(u32)2);
+               IXGBE_WRITE_REG(hw, IXGBE_GRC_BY_MAC(hw),
+                   IXGBE_READ_REG(hw, IXGBE_GRC_BY_MAC(hw)) & ~(u32)2);
 
                /*
                 * Clear Wake Up Status register to prevent any previous wakeup



Home | Main Index | Thread Index | Old Index