Source-Changes-HG archive

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

[src/netbsd-8]: src/sys/dev/pci Pull up following revision(s) (requested by m...



details:   https://anonhg.NetBSD.org/src/rev/ddb423ce6d83
branches:  netbsd-8
changeset: 448849:ddb423ce6d83
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Feb 11 13:44:34 2019 +0000

description:
Pull up following revision(s) (requested by msaitoh in ticket #1189):

        sys/dev/pci/if_wm.c: revision 1.622
        sys/dev/pci/if_wm.c: revision 1.624
        sys/dev/pci/if_wm.c: revision 1.625

 We now have IFM_2500_KX and IFM_1000_KX, so use them.

 -

 I21[01]'s RAL size is not 15 but 16(== 82575's value). Same as other OSes.

 -

 Fix a bug that WOL didn't work on some chips since if_wm.c rev. 1.610.

Set WUC_APME bit older than PCH. Will fixes PR kern/53945 reported by kardel@.
Tested with my own 82574 card.

diffstat:

 sys/dev/pci/if_wm.c |  12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diffs (48 lines):

diff -r 39abf9773677 -r ddb423ce6d83 sys/dev/pci/if_wm.c
--- a/sys/dev/pci/if_wm.c       Mon Feb 11 13:37:57 2019 +0000
+++ b/sys/dev/pci/if_wm.c       Mon Feb 11 13:44:34 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_wm.c,v 1.508.4.29 2019/01/31 06:43:48 martin Exp $  */
+/*     $NetBSD: if_wm.c,v 1.508.4.30 2019/02/11 13:44:34 martin Exp $  */
 
 /*
  * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -83,7 +83,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.508.4.29 2019/01/31 06:43:48 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.508.4.30 2019/02/11 13:44:34 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_net_mpsafe.h"
@@ -3597,6 +3597,8 @@
                size = WM_RAL_TABSIZE_PCH_LPT;
                break;
        case WM_T_82575:
+       case WM_T_I210:
+       case WM_T_I211:
                size = WM_RAL_TABSIZE_82575;
                break;
        case WM_T_82576:
@@ -11895,9 +11897,9 @@
                status = CSR_READ(sc, WMREG_STATUS);
                if (((status & STATUS_2P5_SKU) != 0)
                    && ((status & STATUS_2P5_SKU_OVER) == 0)) {
-                       ifmr->ifm_active |= IFM_2500_SX; /* XXX KX */
+                       ifmr->ifm_active |= IFM_2500_KX;
                } else
-                       ifmr->ifm_active |= IFM_1000_SX; /* XXX KX */
+                       ifmr->ifm_active |= IFM_1000_KX;
        } else {
                switch (__SHIFTOUT(reg, PCS_LSTS_SPEED)) {
                case PCS_LSTS_SPEED_10:
@@ -14700,7 +14702,7 @@
                        goto pme;
        } else {
                /* Enable wakeup by the MAC */
-               CSR_WRITE(sc, WMREG_WUC, WUC_PME_EN);
+               CSR_WRITE(sc, WMREG_WUC, WUC_APME | WUC_PME_EN);
                CSR_WRITE(sc, WMREG_WUFC, WUFC_MAG);
        }
 



Home | Main Index | Thread Index | Old Index