| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: if_wm.c,v 1.341 2015/07/22 08:22:55 knakahara Exp $ */ | | 1 | /* $NetBSD: if_wm.c,v 1.342 2015/07/22 11:14:13 knakahara Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. | | 4 | * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. |
5 | * All rights reserved. | | 5 | * All rights reserved. |
6 | * | | 6 | * |
7 | * Written by Jason R. Thorpe for Wasabi Systems, Inc. | | 7 | * Written by Jason R. Thorpe for Wasabi Systems, Inc. |
8 | * | | 8 | * |
9 | * Redistribution and use in source and binary forms, with or without | | 9 | * Redistribution and use in source and binary forms, with or without |
10 | * modification, are permitted provided that the following conditions | | 10 | * modification, are permitted provided that the following conditions |
11 | * are met: | | 11 | * are met: |
12 | * 1. Redistributions of source code must retain the above copyright | | 12 | * 1. Redistributions of source code must retain the above copyright |
13 | * notice, this list of conditions and the following disclaimer. | | 13 | * notice, this list of conditions and the following disclaimer. |
14 | * 2. Redistributions in binary form must reproduce the above copyright | | 14 | * 2. Redistributions in binary form must reproduce the above copyright |
| @@ -71,27 +71,27 @@ | | | @@ -71,27 +71,27 @@ |
71 | * Device driver for the Intel i8254x family of Gigabit Ethernet chips. | | 71 | * Device driver for the Intel i8254x family of Gigabit Ethernet chips. |
72 | * | | 72 | * |
73 | * TODO (in order of importance): | | 73 | * TODO (in order of importance): |
74 | * | | 74 | * |
75 | * - Check XXX'ed comments | | 75 | * - Check XXX'ed comments |
76 | * - EEE (Energy Efficiency Ethernet) | | 76 | * - EEE (Energy Efficiency Ethernet) |
77 | * - MSI/MSI-X | | 77 | * - MSI/MSI-X |
78 | * - Virtual Function | | 78 | * - Virtual Function |
79 | * - Set LED correctly (based on contents in EEPROM) | | 79 | * - Set LED correctly (based on contents in EEPROM) |
80 | * - Rework how parameters are loaded from the EEPROM. | | 80 | * - Rework how parameters are loaded from the EEPROM. |
81 | */ | | 81 | */ |
82 | | | 82 | |
83 | #include <sys/cdefs.h> | | 83 | #include <sys/cdefs.h> |
84 | __KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.341 2015/07/22 08:22:55 knakahara Exp $"); | | 84 | __KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.342 2015/07/22 11:14:13 knakahara Exp $"); |
85 | | | 85 | |
86 | #ifdef _KERNEL_OPT | | 86 | #ifdef _KERNEL_OPT |
87 | #include "opt_net_mpsafe.h" | | 87 | #include "opt_net_mpsafe.h" |
88 | #endif | | 88 | #endif |
89 | | | 89 | |
90 | #include <sys/param.h> | | 90 | #include <sys/param.h> |
91 | #include <sys/systm.h> | | 91 | #include <sys/systm.h> |
92 | #include <sys/callout.h> | | 92 | #include <sys/callout.h> |
93 | #include <sys/mbuf.h> | | 93 | #include <sys/mbuf.h> |
94 | #include <sys/malloc.h> | | 94 | #include <sys/malloc.h> |
95 | #include <sys/kernel.h> | | 95 | #include <sys/kernel.h> |
96 | #include <sys/socket.h> | | 96 | #include <sys/socket.h> |
97 | #include <sys/ioctl.h> | | 97 | #include <sys/ioctl.h> |
| @@ -776,27 +776,27 @@ static void wm_set_mdio_slow_mode_hv(str | | | @@ -776,27 +776,27 @@ static void wm_set_mdio_slow_mode_hv(str |
776 | static void wm_configure_k1_ich8lan(struct wm_softc *, int); | | 776 | static void wm_configure_k1_ich8lan(struct wm_softc *, int); |
777 | static void wm_reset_init_script_82575(struct wm_softc *); | | 777 | static void wm_reset_init_script_82575(struct wm_softc *); |
778 | static void wm_reset_mdicnfg_82580(struct wm_softc *); | | 778 | static void wm_reset_mdicnfg_82580(struct wm_softc *); |
779 | static void wm_pll_workaround_i210(struct wm_softc *); | | 779 | static void wm_pll_workaround_i210(struct wm_softc *); |
780 | | | 780 | |
781 | #ifdef WM_MSI_MSIX | | 781 | #ifdef WM_MSI_MSIX |
782 | struct _msix_matrix { | | 782 | struct _msix_matrix { |
783 | const char *intrname; | | 783 | const char *intrname; |
784 | int(*func)(void *); | | 784 | int(*func)(void *); |
785 | int intridx; | | 785 | int intridx; |
786 | int cpuid; | | 786 | int cpuid; |
787 | } msix_matrix[WM_MSIX_NINTR] = { | | 787 | } msix_matrix[WM_MSIX_NINTR] = { |
788 | { "TX", wm_txintr_msix, WM_MSIX_TXINTR_IDX, WM_MSIX_TXINTR_CPUID }, | | 788 | { "TX", wm_txintr_msix, WM_MSIX_TXINTR_IDX, WM_MSIX_TXINTR_CPUID }, |
789 | { "RX", wm_rxintr_msix, WM_MSIX_RXINTR_IDX, WM_MSIX_TXINTR_CPUID }, | | 789 | { "RX", wm_rxintr_msix, WM_MSIX_RXINTR_IDX, WM_MSIX_RXINTR_CPUID }, |
790 | { "LINK", wm_linkintr_msix, WM_MSIX_LINKINTR_IDX, | | 790 | { "LINK", wm_linkintr_msix, WM_MSIX_LINKINTR_IDX, |
791 | WM_MSIX_LINKINTR_CPUID }, | | 791 | WM_MSIX_LINKINTR_CPUID }, |
792 | }; | | 792 | }; |
793 | #endif | | 793 | #endif |
794 | | | 794 | |
795 | CFATTACH_DECL3_NEW(wm, sizeof(struct wm_softc), | | 795 | CFATTACH_DECL3_NEW(wm, sizeof(struct wm_softc), |
796 | wm_match, wm_attach, wm_detach, NULL, NULL, NULL, DVF_DETACH_SHUTDOWN); | | 796 | wm_match, wm_attach, wm_detach, NULL, NULL, NULL, DVF_DETACH_SHUTDOWN); |
797 | | | 797 | |
798 | /* | | 798 | /* |
799 | * Devices supported by this driver. | | 799 | * Devices supported by this driver. |
800 | */ | | 800 | */ |
801 | static const struct wm_product { | | 801 | static const struct wm_product { |
802 | pci_vendor_id_t wmp_vendor; | | 802 | pci_vendor_id_t wmp_vendor; |